语法错误从MySQL转换为T-SQL时

时间:2017-11-16 05:12:54

标签: sql sql-server tsql sql-convert

我是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

它给出错误: Msg 102,Level 15,State 1,Line 7

  

'test_duration'附近的语法不正确。'

任何人都可以建议我,问题出在哪里。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

解决:

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

它的实际格式。