-1
我想在日期时间数据类型列(列DATE_AND_TIME
)中过滤以检测时间是在高峰时间而不是在周末日。在我的SQL语句下面,我收到以下错误:在SQL语句中比较日期时间的语法不正确
Incorrect syntax near '>'.
我在做什么错?
SELECT
CASE
WHEN DATEPART(HH, DATE_AND_TIME) BETWEEN 7 AND 9
AND DATE_AND_TIME != DATEPART(DW, DATE_AND_TIME + @@DATEFIRST - 1) > 5
THEN 'RUSH HOUR'
WHEN DATEPART(HH, DATE_AND_TIME) BETWEEN 16 AND 19
AND DATE_AND_TIME != DATEPART(DW, DATE_AND_TIME + @@DATEFIRST - 1) > 5
THEN 'RUSH HOUR'
ELSE 'NOT RUSHHOUR'
END
FROM
TRAFFIC
你的代码是一个烂摊子。尝试阐明你的逻辑并将其与代码相匹配。 –
你的错误在这里: 'DATEPART(DW,DATE_AND_TIME + @@ DATEFIRST - 1)'你不能同时进行两次比较。或者,离开'> 5'或'!= DATE_AND_TIME' –
什么是'@@ DATEFIRST'? –