sql server日期查询语句(SQL Server中查询结果超出了查询时间范围解决方法)
sql server日期查询语句
SQL Server中查询结果超出了查询时间范围解决方法废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题,个人设计了一个例子。
USE AdventureWorks2014; GO SELECT * FROM [Person].[Person] WHERE ModifiedDate >= '2008-11-26 00:00:00:000' AND ModifiedDate <= '2008-11-26 23:59:59.999'
其实如果细看过文档的话,应该知道是什么原因,因为数据类型Datetiem的时间范围:00:00:00 到 23:59:59.997 , 最后部分的范围为0 ~997,官方文档提示,datetime的秒的小数部分精度的有舍入,具体请见下面
datetime 秒的小数部分精度的舍入
如下表所示,将 datetime 值舍入到 .000、.003、或 .007 秒的增量 。
用户指定的值
系统存储的值
01/01/98 23:59:59.999
1998-01-02 00:00:00.000
01/01/98 23:59:59.995
01/01/98 23:59:59.996
01/01/98 23:59:59.997
01/01/98 23:59:59.998
1998-01-01 23:59:59.997
01/01/98 23:59:59.992
01/01/98 23:59:59.993
01/01/98 23:59:59.994
1998-01-01 23:59:59.993
01/01/98 23:59:59.990
01/01/98 23:59:59.991
1998-01-01 23:59:59.990
实验测试验证,998会转换为997,而'2008-11-26 23:59:59.999'的话,就会转换为'2008-11-27 00:00:00.000',如下截图所示,所以尤其对数据精确性有要求的地方,要注意这些地方,否则SQL语句得出的结果在逻辑上就有误。
官方文档https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/datetime-transact-sql?view=sql-server-ver15 中也有描述不准确的地方,如下截图所示:
其实这个是精度问题,如果选择datetime2数据类型,它默认的小数精度更高,不会遇到这个问题,更多细节建议参考官方文档(下面参考资料)
参考资料:
https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/datetime2-transact-sql?view=sql-server-ver15
https://docs.microsoft.com/zh-cn/sql/t-sql/data-types/datetime-transact-sql?view=sql-server-ver15
以上就是本次介绍的关于SQL Server查询超时的知识点内容,感谢大家的而学习和对开心学习网的支持。
- mysql大量数据怎么处理(MySQL删除和插入数据很慢的问题解决)
- xampp数据库表在哪个文件夹(XAMPP集成环境中MySQL数据库的使用)
- sqlserver数据类型和长度(SqlServer 数据库 三大 范式)
- mysql中FIND_IN_SET函数
- mysql 查询语句group by用法(MySQL group by和order by如何一起使用)
- SQL Server Check 约束
- mysqlgroupby用法(MySQL Group by的优化详解)
- 修改mysql默认超时(MySQL sql_mode修改不生效的原因及解决)
- mysqlupdate怎么设置(MySQL update 语句的正确用法)
- sql数值函数大全(sql中mod函数取余数的用法)
- mysql触发器入门(MySQL中触发器和游标的介绍与使用)
- SQL Server ltrimrtrim函数的用法(SQL Server ltrimrtrim 去不掉空格的原因分析)
- sql server2019无法连接到服务器(SQL Server常见问题及解决方法分享)
- sqlserver安装与使用教程(SQL Server 2017 Developer的下载、安装、配置及SSMS的下载安装配置图文教程详解)
- mysql重新安装失败
- mysql8修改默认端口(MySQL 8.0新特性 — 管理端口的使用简介)
- 翼龙贷组织出借人调研 感受鄱阳 借 来的致富路(翼龙贷组织出借人调研)
- 2023新国风戏曲教育寒假集训班汇报演出《戏娃闹元宵》图文报道(2023新国风戏曲教育寒假集训班汇报演出戏娃闹元宵图文报道)
- 九儿《狐踪谍影》出演热血女特警,戏份杀青受关注(九儿狐踪谍影出演热血女特警)
- 红色代表什么(红色代表什么寓意)
- 蓝天代表什么(蓝天代表什么生肖)
- 今天要吃什么(今天要吃什么菜)
热门推荐
- python函数使用方法高级用法(Python骚操作之动态定义函数)
- dedecms屏蔽规则(织梦dedecms修改任意管理员漏洞处理方法)
- php入门教程源代码修改教程(php+js实现的无刷新下载文件功能示例)
- 织梦dede怎么获取当前文档的网址(比较详细全面的织梦DEDECMS目录结构说明)
- mysqlmha架构图(MySQL之MHA高可用配置及故障切换实现详细部署步骤)
- filezilla连接远程服务器配置(FileZilla 425 无法连接FTP的解决方法阿里云服务器)
- mysql cache(MySQL取消了Query Cache的原因)
- laravel自动分解大任务(Laravel如何实现自动加载类)
- SQL Server的恢复模式
- python如何判断两个数组相同(Python实现的合并两个有序数组算法示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9