Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как преобразовать в запросе значения NULL из поля типа DATE / 8 сообщений из 8, страница 1 из 1
28.09.2006, 08:50
    #34017596
OlegA67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
Всем добрый день. Можно ли как нибудь преобразовать значения NULL из поля типа DATE. C числовыми и символьными полями там получается через ф-цию COALESCE заменить NULL на 0 и символ пробела, а с датой такой номер не проходит. Многих пользователей настораживает если они видят в каком -то поле слово NULL, приходятся менять на более привычные. Сейчас чтоб идти на встречу пользвователям, приходится, еше обрабатывать полученный запрос на замену всех NULL . Может как-то сразу можно получить курсор в нужном виде, скажем данные типа
Код: plaintext
1.
NULL
 25 . 01 . 2003 
преобразовать в
Код: plaintext
1.
  .  . 
 25 . 01 . 2003 
...
Рейтинг: 0 / 0
28.09.2006, 09:31
    #34017688
TORT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
А Coalesce(MYDATE,'01/01/2001') не подойдет?
...
Рейтинг: 0 / 0
28.09.2006, 10:59
    #34018017
gals
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
Если пользователю дата нужна только в виде текста, тогда можно прибегнуть к следующей конструкции:

Код: plaintext
COALESCE(TO_CHAR(MyDate, 'dd.MM.yyyy'), '  .  .    ')
...
Рейтинг: 0 / 0
28.09.2006, 13:05
    #34018632
OlegA67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
1. Coalesce(MYDATE,'01/01/2001') так не подходит

2. Я так понял что на DB2 надо создать свою функцию TO_CHAR
...
Рейтинг: 0 / 0
28.09.2006, 13:27
    #34018747
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
with t (d) as
(
values 
  (cast (null as date))
, (date('2003-01-25'))
)
select coalesce(char(d, eur), '  .  .    ')
from t;
...
Рейтинг: 0 / 0
28.09.2006, 15:35
    #34019398
OlegA67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
Mark огромное спасибо, сейчас смотрю на хелп по CHAR и сам себе удивляюсь как я не увидел этого дополнительного параметра.
...
Рейтинг: 0 / 0
28.09.2006, 16:18
    #34019612
gals
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
OlegA67
2. Я так понял что на DB2 надо создать свою функцию TO_CHAR
Зачем? В 8-ке эта функция уже есть. Смотри http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0007108.htm
...
Рейтинг: 0 / 0
28.09.2006, 17:29
    #34019935
OlegA67
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать в запросе значения NULL из поля типа DATE
сейчас проверил еще раз функцию TO_CHAR. Использовать ее с даными тип DATE так и не получилось, а с даными типа TIMESTAMP все отработало нормально. Вроде бы и хелпе написано что только для данных типа TIMESTAMP
Код: plaintext
1.
>>-TO_CHAR--(--timestamp-expression--,format-string--)---------><
Поэтому для меня подходит вариант предложенный Mark'ом
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как преобразовать в запросе значения NULL из поля типа DATE / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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