关于AnnounceDate between '2008-12-16 0:00:00' and '2008-12-17 23:59:59'的疑问!
AnnounceDate 是smalldate型的,
执行得到的结果竟然包括 '2008-12-18 0:00:00' 为什么呢??
AnnounceDate 是smalldate型的,
执行得到的结果竟然包括 '2008-12-18 0:00:00' 为什么呢??
解决方案 »
- SQL语句中怎么插入变量
- SELECT CHARINDEX('|', {fn REPLACE('aa,bb,cc', ',', '|')}) 中 fn 的是什么意思?
- 急求一条查询语句
- SOS!!复杂的sql语句、诡异的需求
- 在一个存储过程里能用临时表接受另外一个存储过程返回的表吗?
- 请问盗版的sql server2000企业版应用后有没有连接数限制?
- VFP能对汉字进行排序吗?
- 各位老大,方案求助,其实挺简单的,进者有分。
- 如何把access的数据库转化为SQL SERVERR的???
- oracle中sysdba,sysoper是什么东东
- 新手求教一个sql语句,在线等
- 触发器问题。请小梁,大乌龟帮忙看下
把所有的位补齐.
datetime 1753 年 1 月 1 日到 9999 年 12 月 31 日 3.33 毫秒
smalldatetime 1900 年 1 月 1 日到 2079 年 6 月 6 日 1 分钟
结果是2008-12-18 00:00:00
select cast('2008-12-17 23:59:59' as datetime)
结果是'2008-12-17 23:59:59'
为什么呢!!!
SELECT CAST('2003-05-08 12:35:29.998' AS smalldatetime);
GO
--Returns time as 12:36.
SELECT CAST('2003-05-08 12:35:29.999' AS smalldatetime);
GO请多看联机丛书的例子..谢谢.
datetime 值會捨入到 .000、.003 或 .007 秒的遞增,如下表所示。
以上内容來自MSDN。
2008-12-17 23:59:59 在SMALLDATETIME字段裏面根本就不存在,會自動變成2008-12-18 0:00:00
datetime 值會捨入到 .000、.003 或 .007 秒的遞增,如下表所示。
以上内容來自MSDN。
2008-12-17 23:59:59 在SMALLDATETIME字段裏面根本就不存在,會自動變成2008-12-18 0:00:00不信你可以在SQL裏面建個SMALLDATETIME建個字段測試下,SMALLDATETIME只精確到分鐘。
set @t = '1999-9-9 23:59:59.999'
select cast(@t as datetime)
--1999-09-10 00:00:00.000
--datetime精确到最近的3/1000,smalldatetinme位分钟
select cast('2008-12-17 23:59:29' as smalldatetime) 结果2008-12-17 23:59:00
smalldatetime从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据精确到分钟。29.998 秒或更低的 smalldatetime 值向下舍入为最接近的分钟,29.999 秒或更高的 smalldatetime 值向上舍入为最接近的分钟。我明白了