SQL Server将Smalldatetime与日期时间字符串进行比较

时间:2016-06-24 11:03:47

标签: sql-server date

我似乎无法找到任何人们使用smalldatetime类型查询除日期以外的任何内容的示例。我可以获得查询来处理日期,但它忽略了时间。我在表格中有一行日期为" 24/06/2016 12:10:00"。我想查询此表以提取日期和时间小于当前时间的所有行。问题是它完全忽略了时间,只与日期匹配。使用以下where子句我不希望得到任何结果,因为表中的行是12:10。

WHERE startdate < '2016-06-24 12:00:00'

如何格式化查询,以便服务器在返回结果时将花费时间。

1 个答案:

答案 0 :(得分:2)

问题必须是别的,因为我使用smalldatetime的where子句确实考虑了时间组件......

WITH TestData as (
SELECT
    cast('2016-24-06 11:50:00' as smalldatetime) as TheDate
UNION ALL
SELECT
    cast('2016-24-06 12:10:00' as smalldatetime) as TheDate
)
select * from TestData
WHERE TheDate < cast('2016-24-06 12:00:00' as smalldatetime)

也许显式地将Where子句中的日期转换为smalldatetime?