У меня есть странная ошибка, которую я не могу решить (с одной строкой).Простая функция T-SQL для преобразования даты в отображаемый формат
Этот код работает:
DECLARE @TestDate datetime = '2013-05-01 23:15:11'
select IsNull(convert(varchar(max), @TestDate, 120), 'null') as 'test1'
Дисплеи: 2013-05-01 23:15:11
CREATE FUNCTION [dbo].[DateOrNullToChar] (@InputDate date)
RETURNS VARCHAR(40)
BEGIN
return ISNULL(convert(varchar(40),@InputDate, 120),'null');
END
select dbo.DateOrNullToChar('2013-05-01 23:15:11') as 'result'
Возвращает: 2013-05-01
(нет времени)
Я также попытался varchar(max)
.
Целью этой функции является то вроде этого:
Set @ErrorMessage = ' @ArrivalDate=' + dbo.DateOrNullToChar(@ArrivalDate) +
' @DepartureDate=' + dbo.DateOrNullToChar(@DepartureDate);
Если какое-либо одно значение равно нулю, то вся стоимость становится нулевой. Поэтому я хочу увидеть строку «null», когда дата имеет нулевое значение.
О, это было так очевидно - но я пропустил это. – NealWalters