Я пытаюсь создать UDF, чтобы добавить 3 часа к значениям даты, используя SSMS, и продолжаю сталкиваться с следующей ошибкой при вызове функции:
Преобразование не удалось при преобразовании даты и / или время из символьной строки
Вот как я вызываю UDF:
SELECT TOP 5 dbo.to_eat('updated') FROM SCHEMA.TABLE_NAME
Мой запрос на создание функции следующий:
CREATE FUNCTION [dbo].[to_eat](@date_field NVARCHAR(20)) RETURNS CHAR(20) AS
BEGIN
RETURN CASE
WHEN @date_field <>'' AND @date_field IS NOT NULL AND @date_field <> '1900-01-01 00:00:00.0' THEN DATEADD(HOUR, -3, @date_field)
-- WHEN @rating = 'AA' OR @rating LIKE 'AA[+-]' THEN 2
-- WHEN @rating = 'BBB' OR @rating LIKE 'BBB[+-]' THEN 3
ELSE NULL
END
END