Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Выбор из БД записей по Дате FireBird в 1С77 (http://forums.kuban.ru/f1040/vybor_iz_bd_zapisej_po_date_firebird_v_1s77-6212650.html)

Lisonia 24.10.2014 13:46

Выбор из БД записей по Дате FireBird в 1С77
 
Всем привет!
Пытаюсь из таблиц БД выбрать записи для Дата> Установленной

В данном примере :
ИмяПоля = "DTV"
ТипПоля = 133
Переменная даты : ДатаЗагр
Преобразую дату : Формат(ДатаЗагр,"ДГГГГММДД")

Строка запроса получается такой:
ТекстЗапроса = "select first 30 cast(ID as varchar(50)) as ID,cast(IDFLS as varchar(50)) as IDFLS,FIO as FIO,DTV as DTV,TMV as TMV from FLS_FIO_REPLACE WHERE DTV > CAST('20140601' AS DATE)"

Но в поле DTV записи с 2007 года. Подскажите, как правильно написать запрос?

angro 24.10.2014 13:51

поставь себе какой-нибудь клиент в котором можно запросы делать и сначала в нем отлаживай

может там можно вообще написать
elect first 30 cast(ID as varchar(50)) as ID,cast(IDFLS as varchar(50)) as IDFLS,FIO as FIO,DTV as DTV,TMV as TMV from FLS_FIO_REPLACE WHERE DTV > '20140601:00 00 00'

чтобы не преобразовывать ничего

Korpas 24.10.2014 13:54

Может что-нибудь типа: CAST(LEFT(DTV, 8)) > ...

Lisonia 24.10.2014 13:56

Какой командой можно узнать длину поля?

angro 24.10.2014 13:59

(3) IBExpert вот, поставь

Lisonia 24.10.2014 14:03

он бунтует и не запускается ))

Lisonia 24.10.2014 16:00

Вопрос снят, разобралась ))

qweqwe123123 24.10.2014 16:22

готовый код давай тоже, а то потом забудешь что-нить, а мы и напомнить не смогём

Lisonia 24.10.2014 21:08

"О сколько нам мгновений..." )) И это я еще только в начале разбора )

Да нет, там все просто оказалось. Я попробовала просто разные варианты формата.
" WHERE "+ ИмяПоляДаты+" > CAST('"+ДатаСравнения +"' AS DATE)"


Текущее время: 21:40. Часовой пояс GMT +3.