Мир вам. Вот использую запрос чтоб найти нужные данные:
SELECT *
FROM Ukraine_RP
WHERE (Date > '19.05.2009 0:00:00')
а ничего не віходит, ругается СКЛ... Что не так пишу?
попробуйте ,что то типа
SELECT *
FROM Ukraine_RP
WHERE Date > '19/05/2009'
необходимо зарегистрироваться для просмотра ссылки
Хорошая ссылка почитаю, вариант такой подошел
UPDATE Ukraine_RP
SET Sale = 4488.123
WHERE (Date = '2009-05-24')
WHERE (Date = '2009-05-24') SQL требует формат 'yyyy-mm-dd'
возможно берет настройки утсановленніе в системе....
В таких случаях проще посмотреть в самой таблице, как скуль пишет дату
Цитата(Valerka @ 21.07.09, 10:31) необходимо зарегистрироваться для просмотра ссылки
В таких случаях проще посмотреть в самой таблице, как скуль пишет дату

так как она отображается в таблицах вовсе не катит. Формат отображения поля типа ДАТА наверное зависит от настроек сиквела, а вот сравнение это уже как правило. Вот его и уточнял. В ответе выше видно как решается вопрос
Все бегом в MSDN ...
Например сюда ... необходимо зарегистрироваться для просмотра ссылки
Цитата(Vond @ 21.07.09, 20:33) необходимо зарегистрироваться для просмотра ссылки
так как она отображается в таблицах вовсе не катит. Формат отображения поля типа ДАТА наверное зависит от настроек сиквела, а вот сравнение это уже как правило.
та это предположение или практикой проверено?
В 1С:
//==========================================
Функция ВремяНачТрека()
Результат = Формат(начЧЧ,"Ч(0)2.0")+":"+Формат(начММ,"Ч(0)2.0")+":"+Формат(начСС,"Ч(0)2.0");
Возврат Результат;
КонецФункции // ВремяКонТрека()
//==========================================
Функция ВремяКонТрека()
Результат = Формат(конЧЧ,"Ч(0)2.0")+":"+Формат(конММ,"Ч(0)2.0")+":"+Формат(конСС,"Ч(0)2.0");
Возврат Результат;
КонецФункции // ВремяКонТрека()
//==========================================
Функция ПолучитьДатуSQL(ДатаД)
Возврат ""+ДатаГод(ДатаД)+"-"+Сред(ДатаД,4,2)+"-"+Лев(ДатаД,2);
КонецФункции // ПолучитьДатуSQL
//==========================================
Процедура ....
СтрокаЗапроса = " MS_get_Doc_GPSTrack ";
ДобавитьПоле(СтрокаЗапроса,СокрЛП(ВыбАгент.ИмяПокет), 0); // код агента. Если пустое значение, тогда смотрим треки от всех агентов.
ДобавитьПоле(СтрокаЗапроса,ПолучитьДатуSQL(ДатаТрека)+" "+ВремяНачТрека(), 0); // дата и время начала трека
ДобавитьПоле(СтрокаЗапроса,ПолучитьДатуSQL(ДатаТрека)+" "+ВремяКонТрека(), 0); // дата и время конца трека
СтрокаЗапроса = Лев(СтрокаЗапроса, СтрДлина(СтрокаЗапроса) - 1);
tCommand.CommandText = СтрокаЗапроса;
tRecordSet = tCommand.Execute; // запускаем хр. процедуру на выполнение
.....
КонецПроцедуры
в SQL хранимая процедура:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Серебряков Алексей>
-- Create date: <23 июля 2008>
-- Description: <Возвращает GPS координаты за указанный период>
-- =============================================
ALTER procedure [dbo].[MS_get_Doc_GPSTrack](
-- Add the parameters for the stored procedure here
@DeviceId varchar(50), -- имя агента
@StartDate datetime, -- начало периода
@EndDate datetime -- конец периода
)
as begin
select AgentId, DeviceId, CONVERT(varchar(50), DateTimeValue, 127) + 'Z', Latitude, Longitude, dt from dbo.Doc_GPSTrack where DeviceId = @DeviceId and DateTimeValue >= @StartDate and DateTimeValue <= @EndDate order by DateTimeValue
end
В зависимости от настроек СКЛ (делаем константу, например, как я обычно делаю):
Функция глДатаОДБЦ(Дата1С=,ФормДаты) Экспорт
Перем д,в,т;
в=""; д=""; т=""; д=Дата(Дата1С);
д=Формат(д,"ДГГГГММДД");
Если ФормДаты=Перечисление.ФорматыДатыСКЛ.ГодМесяцДень Тогда
д=Лев(д,4)+"-"+Сред(д,5,2)+"-"+Прав(д,2);
ИначеЕсли ФормДаты=Перечисление.ФорматыДатыСКЛ.ГодДеньМесяц Тогда
д=Лев(д,4)+"-"+Прав(д,2)+"-"+Сред(д,5,2);
КонецЕсли;
Возврат Строка(д);
КонецФункции