如何比较Sql中的日期类型和javascript日期

时间:2017-03-20 17:41:59

标签: javascript sql-server node.js express

我有一个ISO格式的javascript日期字符串,例如

dtStart = 2016-09-05T07:00:00.000Z

我想在SQL查询中将它与标签为DateTimeCollected的列进行比较。 DateTimeCollected的示例可以是2014-06-27T00:00:00.000Z

我如何使用类似

之类的东西在SQL中压缩这两个日期
DateTimeCollected >= ${dtStart}
查询中的

,其中dtStart是一个字符串。如果有任何帮助,我正在使用MSsql。

2 个答案:

答案 0 :(得分:0)

DateTimeCollected >= CONVERT(${dtStart}, @stringDate, 126)

答案 1 :(得分:0)

如果您要比较Sql中的值,您应该能够简单地执行此操作:

DateTimeCollected >= CAST(@DateTimeString As DateTime). 

假设@DateTimeString是一个char(23)变量,其中包含遵循ISO8601格式(yyyy-mm-ddThh:mi:ss.mmm

的日期时间值的字符串表示形式

实际上,您也可以在不进行转换的情况下执行此操作,因为Sql server将隐式地将字符串转换为日期时间数据类型。但是,我觉得使用显式转换更好,因为它更具可读性。

正如我在评论中所写,如果SQL Server按照ISO8601格式传递为字符串,则应始终投出正确的日期。