Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / NULL в TIMESTAMP (+) / 14 сообщений из 14, страница 1 из 1
09.03.2004, 16:46
    #32435125
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Народ подскажите как занести в TIMESTAMP NULL?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SET TERM ^ ;
CREATE PROCEDURE UPDATE (
    ID INTEGER,
    MASK INTEGER,  
    TIME1 TIMESTAMP,
    TIME2 TIMESTAMP)
AS
BEGIN
UPDATE TABLE1 SET
T1_TIME1 = (DtIF( BITAND(MASK , 1 ), :TIME1 ,T1_TIME1 ),
T1_TIME2 = (DtIF( BITAND(MASK , 2 ), :TIME2 ,T1_TIME2 ),
WHERE T1_ID = :ID;
END ^
SET TERM ; ^


Вместо NULL заносится 1858-11-17 00:00:00

P.S. Как вам такой способ обновления нужных полей в базе.
Или есть способо лучше? :)

P.P.S С CHAR такая же фигня, т.е. NULL не занести. Вместо него, поле заполняется пробелами.
...
Рейтинг: 0 / 0
09.03.2004, 16:54
    #32435148
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
А где там NULL должен появиться? Т.е. TIME1 или TIME2 принимать значения NULL ?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
09.03.2004, 16:56
    #32435155
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
теги [ SRC ][ /SRC ] вокруг исходников появляются не сами по себе, а их расставляет модератор, которому это пока не надоело...
...
Рейтинг: 0 / 0
09.03.2004, 16:57
    #32435157
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
TIME1 и/или TIME2 могут принимать значение NULL
...
Рейтинг: 0 / 0
09.03.2004, 16:57
    #32435158
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
А что, у тебя функция DtIF принимает и возвращает значения BY DESCRIPTOR? В базу пишется то, что твоя функция возвращает. Я никогда не работал с NULL в UDF, но вроде бы с ним можно работать если передвавать параметры BY DESCRIPTOR ...
...
Рейтинг: 0 / 0
09.03.2004, 17:00
    #32435167
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Одним словом - это работает:
Код: plaintext
1.
update t1 set dt = null;

А DtIF скорее всего возвращает не NULL, а 1858-11-17 00:00:00 !
Такое случается ...

Best regards,
Dnico.
...
Рейтинг: 0 / 0
09.03.2004, 17:05
    #32435180
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
DtIf Стандартная из rFunc UDF Library
...
Рейтинг: 0 / 0
09.03.2004, 17:07
    #32435186
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Она не умеет работать с NULL-ами
...
Рейтинг: 0 / 0
09.03.2004, 17:12
    #32435195
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Проверь, что выдают этоти запрос ?

SELECT DtIF( 0, null ,'01.01.2004') FROM RDB$DATABASE;
SELECT DtIF( 1, null ,'01.01.2004') FROM RDB$DATABASE;

Best regards,
Dnico.
...
Рейтинг: 0 / 0
09.03.2004, 17:20
    #32435208
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Эх, плохо что не умеет :(

Ошибку -104 выдает :)
...
Рейтинг: 0 / 0
09.03.2004, 17:21
    #32435211
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Какую версию пользуешь?

Best regards,
Dnico.
...
Рейтинг: 0 / 0
09.03.2004, 17:24
    #32435219
Dnico
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Для FB 1.5
Код: plaintext
1.
2.
T1_TIME1 = CASE BITAND(MASK , 1 ) WHEN  0  THEN T1_TIME1 ELSE :TIME1 END,
T1_TIME2 = CASE BITAND(MASK , 2 ) WHEN  0  THEN T1_TIME2 ELSE :TIME2 END,

Best regards,
Dnico.
...
Рейтинг: 0 / 0
09.03.2004, 17:55
    #32435275
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Fb 1.5
Спасибо попробую
...
Рейтинг: 0 / 0
09.03.2004, 18:09
    #32435294
Kostya.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
NULL в TIMESTAMP (+)
Оооо, Dnico , вроде помогло )
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / NULL в TIMESTAMP (+) / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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