我有一个ISO格式的javascript日期字符串,例如
dtStart = 2016-09-05T07:00:00.000Z
我想在SQL查询中将它与标签为DateTimeCollected的列进行比较。 DateTimeCollected的示例可以是2014-06-27T00:00:00.000Z
。
我如何使用类似
之类的东西在SQL中压缩这两个日期DateTimeCollected >= ${dtStart}
查询中的,其中dtStart是一个字符串。如果有任何帮助,我正在使用MSsql。
答案 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格式传递为字符串,则应始终投出正确的日期。