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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

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

Сообщение Rishat »

интересует следующий вопрос:
пишем программу на дельфи которая через ODBC источник вытягивает данные посредством SQL запроса. не получается делать запросы на вывод пустых дат, значение которых NULL (напр. в APPOINTMENTS.DISMISSDATE) и еще другая проблема, при преобразовании поля в строку постоянно ругается на несоответствие типов. подскажите как делать запросы с Null датами.
thor
Местный житель
Сообщения: 289
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Saint-Petersburg
Контактная информация:

Сообщение thor »

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

Запрос типа
Select * from dbo.T$Appointments where F$Dismissdate=0
выводит все записи из таблицы, где нет даты
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

проблема с БД под Pervasive, а не MSSQL
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение Sheinina »

Под первасивом пустоту даты можно проверить как longint(data)=0
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

Sheinina
а в Pervasive Control Center как такой запрос написать?
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение Sheinina »

А вот это я не знаю... Я тока из-под supporta запросы пишу...
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

хых.. вот это прокатило в PCC
select dismissdate from appointments where convert(dismissdate,SQL_CHAR)<>'0000-00-00' order by dismissdate
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

мне бы вот что-то подобное надо соорудить в PCC
select convert(dismissdate,SQL_CHAR) from appointments where convert(dismissdate,SQL_CHAR)='0000-00-00' order by dismissdate

вопрос только как.. :Р
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

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