Синтаксическая ошибка при конвертации из MySQL в T-SQL

Я новичок в SQL . Я конвертирую MySQL в SQL .

Я обнаружил ошибку при использовании функции DateAdd.

Вот запрос:

SELECT
      [id],
      [test_code],
      [test_name],
      [test_price],
      [discount],
      DATEADD(CURRENT_TIMESTAMP, INTERVAL [test_duration] HOUR) as delivery_date,       
      [is_active]
    FROM [icddrb_tblab].[dbo].[tb_test]
    WHERE [icddrb_tblab].[dbo].[tb_test].[id] =0

Выдает ошибку: сообщение 102, уровень 15, состояние 1, строка 7

Неверный синтаксис рядом с 'test_duration'.'

Может кто-нибудь подсказать мне, в чем проблема.

2 ответа

DATEADD функция принимает такой параметр DATEADD (datepart , number , date )

Вы можете использовать это.

SELECT
      [id],
      [test_code],
      [test_name],
      [test_price],
      [discount],
      DATEADD(HOUR, [test_duration], CURRENT_TIMESTAMP ) as delivery_date,       
      [is_active]
    FROM [icddrb_tblab].[dbo].[tb_test]
    WHERE [icddrb_tblab].[dbo].[tb_test].[id] =0

Решено:

DATEADD(HOUR,[test_duration], CURRENT_TIMESTAMP) as delivery_date,

это фактический формат.

Другие вопросы по тегам