我试图清理在下面的代码在where子句声明:使用case语句的where子句
SELECT
CONVERT(datetime, [UTC_Time_Stamp], 127) AS TimeStamp
FROM
Table
WHERE
CASE
WHEN ISDATE([UTC_Time_Stamp]) = 1
THEN CONVERT(datetime, [UTC_Time_Stamp], 127)
ELSE CAST('1/1/1900' AS datetime)
END > CAST('11/09/2012' AS datetime)
AND
CASE
WHEN ISDATE([UTC_Time_Stamp]) = 1
THEN CONVERT(datetime, [UTC_Time_Stamp], 127)
ELSE CAST('1/1/3000' AS datetime)
END < CAST('11/10/2012' as datetime)
ORDER BY
TimeStamp;
UTC_Time_Stamp
被存储为一个字符串,有时是零。我之前在我的where子句中遇到了一个转换错误。我修复了这个问题的建议here,但我觉得必须有一个更简单的方法来达到相同的结果。
是9月11日还是11月9日...... –
11月9日(mm/dd/yyyy)。 – Corsae