Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / NULL и переменная типа Date / 3 сообщений из 3, страница 1 из 1
07.05.2014, 09:56
    #38635227
antidot47
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL и переменная типа Date
Вопрос, вероятно, глуповатый, но надеюсь на снисходительность по отношению к новичку.
PB9+Oracle
Если переменная типа Date в таблице БД имеет значение NULL, то, будучи извлеченной в локальную переменную (PB) того же типа получает значение 01.01.1900 00:00:00
Выходит, что даже при наличии в PB функции IsNull() я фактически ей воспользоваться не могу. Что же, мне сравнивать значение переменной с датой 1900 года? А если я до этого присвоил таки этой переменной значение NULL функцией SetNull(), то я должен фактически предполагать ДВЕ интерпретации значения NULL для этой переменной?
...
Рейтинг: 0 / 0
07.05.2014, 10:08
    #38635243
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL и переменная типа Date
В датах всегда нужно учитывать такое значение
Поэтому используйте аналог оракловской nvl при сравнении дат
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
global type nvl from function_object
end type

forward prototypes
global function any nvl (any p1, any p2)
end prototypes

global function any nvl (any p1, any p2);
if IsNull(p1) then
	return p2
else
	return p1
end if	
end function


Например
Код: sql
1.
2.
if nvl(dw.object.date_field[row], datetime(date(1900,1,1))) = datetime(date(1900,1,1)) then
...
...
Рейтинг: 0 / 0
07.05.2014, 12:20
    #38635404
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL и переменная типа Date
А зачем такие NULL-данные вообще из БД получать?
Добавте строку с WHERE в SQL-запрос и проблема исчезнет ;)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / NULL и переменная типа Date / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]