Moo*_*Moo 3 t-sql sql-server sql-server-2005
我有一个相当奇怪的'bug'和一个简单的查询,我依稀记得很久以前在某个地方阅读它的原因,但是会喜欢有人来刷新我的记忆.
该表是一个基本ID,Datetime表.
查询是:
select ID, Datetime from Table where Datetime <= '2010-03-31 23:59:59'
Run Code Online (Sandbox Code Playgroud)
问题是查询结果包括Datetime为'2010-04-01 00:00:00'的结果.第二天.它不应该.
任何人?
干杯
武
看一下SQL Server中的日期如何存储?以及如何在SQL Server中使用日期?
如果这是一个smalldatetime它有1分钟的精度,所以如果向上舍入,对于datetime它是300毫秒
例
DECLARE @d DATETIME
SELECT @d = '2001-12-31 23:59:59.999'
SELECT @d
Run Code Online (Sandbox Code Playgroud)
2002-01-01 00:00:00.000
DECLARE @d DATETIME
SELECT @d = '2001-12-31 23:59:59.998'
SELECT @d
Run Code Online (Sandbox Code Playgroud)
2001-12-31 23:59:59.997
在你的情况下,总是在午夜使用不到第二天
< '20100401'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13771 次 |
| 最近记录: |