Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Замена даты пустым значением (не NULL) MSSQL.  [new]
Burserk
Member

Откуда:
Сообщений: 18
Добрый день, подскажите, пожалуйста,
Как в запросах MSSQL заменять "пустую" дату, чтобы вместо NULL выводилось '' (Пусто)?
Если делаю isnull или coalesce на '' или ' ', то выводится: 1900-01-01 00:00:00
28 дек 16, 16:53    [20057506]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2567
Burserk,
DECLARE @DT DATETIME
SELECT ISNULL(CONVERT(VARCHAR(10), @DT, 104), '') AS DT
?
28 дек 16, 17:02    [20057556]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
o-o
Guest
вообще-то NULL это и так "пусто".
студия его отрисовывает другим цветом и "заменяет" на надпись NULL.
если смотреть не студией, а допустим выводить в отчет и смотреть там, то пусто и будет пусто.
поэтому надо сперва указать клиента, который вам NULL заменяет на то, что вам не подходит
28 дек 16, 17:23    [20057625]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
Burserk
Member

Откуда:
Сообщений: 18
PaulYoung, спасибо!
Вот что нужно в итоге было (т.к. дата и время)
ISNULL(CONVERT(VARCHAR(20), @DT, 20), '') as dt.

Единственный момент ,всё это в типе varchar получается, т.е. в типе datetime пустоту получить нет возможности?
28 дек 16, 17:29    [20057659]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
Burserk
Member

Откуда:
Сообщений: 18
o-o,
Верно ,при копировании в EXCEL проставляет NULL.
28 дек 16, 17:30    [20057662]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2567
Burserk
Единственный момент ,всё это в типе varchar получается, т.е. в типе datetime пустоту получить нет возможности?
В типе datetime пустота, как уже писали, это NULL, а как его интерпретирует клиент - это дело клиента.
28 дек 16, 17:35    [20057684]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8839
Такое надо на клиенте делать, а не на сервере.
Способ хранения - это не то же, что и способ отображения.
28 дек 16, 17:36    [20057688]     Ответить | Цитировать Сообщить модератору
 Re: Замена даты пустым значением (не NULL) MSSQL.  [new]
Burserk
Member

Откуда:
Сообщений: 18
Всем спасибо, коллеги!
28 дек 16, 17:57    [20057771]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить