Microsoft SQL преобразовывает varchar в date, 101 и возвращает пустое значение для null - PullRequest
0 голосов
/ 17 июня 2020

Мне нужно вернуть поле даты varchar как дату и время 101, а также вернуть пустое поле для значений null.

В настоящее время используется это:

convert(varchar,try_cast (COALESCE([Col_106],'') as date), 101) as Date_of_Death

, но это возвращается значение по умолчанию 01/01/1900, когда дата NULL. Как сделать так, чтобы это поле было пустым?

Я также пробовал:

Date_of_Death2 = isnull(convert(varchar(10),col_106, 101),'')

, но функция даты 101 не распознается и не форматирует дату так, как мне нужно.

Спасибо!

1 Ответ

0 голосов
/ 17 июня 2020

В SQL Server нет пустой даты, всякий раз, когда вы хотите привести пустую переменную varchar к дате, она получит дату по умолчанию 1/1/1900. Вместо этого вы можете позже coalesce ():

select COALESCE(CONVERT(varchar,TRY_CAST( [Col_106] as date), 101),'') as Date_Of_Death2 ...
...