作者:重孙女俘虏 | 来源:互联网 | 2023-06-13 15:23
SQLServer惊天大BUG?select*fromtable_namewherecol_date<2010-6-2823:59:59.999会输出包含20
SQLServer惊天大BUG?
select * from table_name where col_date<='2010-6-28 23:59:59.999'
会输出包含2010-6-29 00:00:00.000的记录,但这样写不会:
select * from table_name where col_date<='2010-6-28 23:59:59.998'
BUG?
SQL2005
39 个解决方案
毫秒入到 .000、.003 或 .007 秒三个增量。
6楼可能有道理,但我认为微软如果允许输入好像不应该这么处理哦
我是前台传入datetime型发现错误的,字段也是datetime型,不涉及转换问题
特别是涉及跨日问题,哪能这么转,可以建议微软修改一下哈
datetime 和 smalldatetime
代表日期和當日時間。
資料類型 範圍 精確度
datetime
1753 年 1 月 1 日到 9999 年 12 月 31 日
3.33 毫秒
smalldatetime
1900 年 1 月 1 日到 2079 年 6 月 6 日
1 分鐘
最好把毫秒入到 .000、.003 或 .007 秒都调到.001精度
这037规则太搞了
你肯定不是工控应用,所以毫秒没什么意义,
时间类型不用datetime,是用varchar(19),把毫秒给掐了。