鉴于日期,2009/04/30,我希望在其中一行中检索所有日期<= 2009/04/30和> = 2009/04/30.sql语句是这样的:
select dateColumn from someTable where dateColumn <= '2009/4/30'
select dateColumn from someTable where dateColumn >= '2009/4/30'
Run Code Online (Sandbox Code Playgroud)
上面的两个语句运行但第一个语句返回2009/04/30以下的所有日期,它似乎排除日期,即使它出现在数据库中.知道为什么会这样吗?我如何比较sql中DateTime对象的日期部分?
SQL Server 存储日期和时间.
select dateColumn from someTable where dateColumn <= '2009/4/30'
Run Code Online (Sandbox Code Playgroud)
返回小于或等于的所有日期2009/4/30 00:00:00.
如果您的日期至少1/300大于秒,例如2009/4/30 00:00:00.003,它将不会被退回.
你需要选择这样的:
select dateColumn from someTable where dateColumn < '2009/5/01'
Run Code Online (Sandbox Code Playgroud)
或者像这样:
select dateColumn from someTable where dateColumn < DATEADD(day, 1, '2009/4/30')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |