将dateadd SQL应用于所有行

时间:2012-12-03 11:05:13

标签: sql dateadd

所以我使用了一系列查询来尝试在“match_date”列中为所有日期添加23个小时,并且收到了所有日期的错误变体,包括语法错误和错误,说明stats.dateadd没有存在。

update dates
set match_date=dateadd(hh,23,match_date)
where match_id >='1'

任何想法为什么?

2 个答案:

答案 0 :(得分:1)

我猜你正在使用Oracle,并且dateadd功能不可用。尝试:

update dates
set match_date = match_date + interval '23' hour
where match_id >= 1

或者,在SQL中,向日期添加数字会以天为单位添加该数字。所以你也可以:

update dates
set match_date = match_date + 23.0/24
where match_id >= 1

答案 1 :(得分:0)

您可以尝试使用 interval 选项将日期或时间添加到 SQL 中的日期变量。您也可以尝试 dateadd 方法,但它适用于 mySql,其中此间隔选项适用于所有类型的 SQL 引擎,如 oracle、postgres 等。

update dates set match_date = match_date + INTERVAL '23 hour' where match_id >= 1;