1

我是 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”附近的语法不正确。

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

4

2 回答 2

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
于 2017-11-16T05:16:52.067 回答
0

解决了:

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

它的实际格式。

于 2017-11-16T05:18:27.170 回答