Страница 1 из 1

проблема с полем типа Дата в БД под Pervasive

Добавлено: 14 дек 2006, 18:57
Rishat
интересует следующий вопрос:
пишем программу на дельфи которая через ODBC источник вытягивает данные посредством SQL запроса. не получается делать запросы на вывод пустых дат, значение которых NULL (напр. в APPOINTMENTS.DISMISSDATE) и еще другая проблема, при преобразовании поля в строку постоянно ругается на несоответствие типов. подскажите как делать запросы с Null датами.

Добавлено: 15 дек 2006, 13:19
thor
Насчет APPOINTMENTS.DISMISSDATE не понял.
Если посмотреть структуру на MS SQL, то тип этого поля Int, как и у всех полей с датой, значения NULL ни для одного поля в этой таблице не разрешены.
Во всех полях, где даты нет, стоит 0.

Запрос типа
Select * from dbo.T$Appointments where F$Dismissdate=0
выводит все записи из таблицы, где нет даты

Добавлено: 15 дек 2006, 15:06
Rishat
проблема с БД под Pervasive, а не MSSQL

Добавлено: 18 дек 2006, 21:05
Sheinina
Под первасивом пустоту даты можно проверить как longint(data)=0

Добавлено: 20 дек 2006, 14:11
Rishat
Sheinina
а в Pervasive Control Center как такой запрос написать?

Добавлено: 20 дек 2006, 14:19
Sheinina
А вот это я не знаю... Я тока из-под supporta запросы пишу...

Добавлено: 20 дек 2006, 15:20
Rishat
хых.. вот это прокатило в PCC
select dismissdate from appointments where convert(dismissdate,SQL_CHAR)<>'0000-00-00' order by dismissdate

Добавлено: 20 дек 2006, 18:09
Rishat
мне бы вот что-то подобное надо соорудить в PCC
select convert(dismissdate,SQL_CHAR) from appointments where convert(dismissdate,SQL_CHAR)='0000-00-00' order by dismissdate

вопрос только как.. :Р

Добавлено: 22 дек 2006, 19:20
Rishat
может кто мне вразумительно сказать, почему в БД Галактики 8.0 под Pervasive SQL 2000i,8.70, в поле с пустой даты сидит значение '0' (под Pervasive 9.5 дык вообще выводит вместо NULL непонятную дату 11/30/0002),а не NULL, как это должно быть? (исходя из запроса в PCC)