社区
疑难问题
帖子详情
MSSQL日期时间执行效率
lkh42002
2006-10-24 09:35:10
MSSQL查询语句对时间进行判断时有什么方法能提高效率呢?
select * from tbl where time1-time2>0.5(time1,time2为datetime格式)
请高手解释下这句话的意思,另外在SQL内部,日期时间的存储格式是怎样的?是不是类似MYSQL?
...全文
420
12
打赏
收藏
MSSQL日期时间执行效率
MSSQL查询语句对时间进行判断时有什么方法能提高效率呢? select * from tbl where time1-time2>0.5(time1,time2为datetime格式) 请高手解释下这句话的意思,另外在SQL内部,日期时间的存储格式是怎样的?是不是类似MYSQL?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lkh42002
2006-10-24
打赏
举报
回复
to i9988
" 最好不要在索引字段用函数 ",呵呵,第一次听说,不要见怪,能不能进一步解释下?
dulei115
2006-10-24
打赏
举报
回复
Microsoft SQL Server 用两个 4 字节的整数内部存储 datetime 数据类型的值。第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日的 datetime 值。另外一个 4 字节存储以午夜后毫秒数所代表的每天的时间。
smalldatetime 数据类型存储日期和每天的时间,但精确度低于 datetime。SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后的分钟数。日期范围从1900 年 1 月 1 日到 2079 年 6 月 6 日,精确到分钟。
i9988
2006-10-24
打赏
举报
回复
以上改变假设time1有索引,如果time2有索引
select * from tbl where time1-time2>0.5
--〉
select * from tbl where time1-0.5>time2
--〉
select * from tbl where time2<time1-0.5
--〉
select * from tbl where time2<dateadd(hour,-12,time1)
希望楼主明白我的意思
i9988
2006-10-24
打赏
举报
回复
如果要讨论效率,就最好不要在索引字段用函数
select * from tbl where time1-time2>0.5
--〉
select * from tbl where time1>time2+0.5
--〉
select * from tbl where time1>dateadd(hour,12,time2)
lkh42002
2006-10-24
打赏
举报
回复
用datediff()在数据达到数百万条的时候速度比较慢.
dawugui
2006-10-24
打赏
举报
回复
日期时间的存储格式?
主要是显示的格式吧.
使用cast,convert看看.
子陌红尘
2006-10-24
打赏
举报
回复
在SQL Server中,可以使用datediff()函数来比较日期。
子陌红尘
2006-10-24
打赏
举报
回复
declare @date1 datetime,@date2 datetime
set @date1=getdate()
set @date2=dateadd(hh,12,getdate())
select cast(@date2-@date1 as numeric(10,8)) as [Days]
/*
Days
------------
.50000000
*/
子陌红尘
2006-10-24
打赏
举报
回复
两个日期相减,得到的是值是天数,楼主的SQL即查出time1与time2的时间差在半天以上的数据。
九斤半
2006-10-24
打赏
举报
回复
select * from tbl where time1-time2>0.5
===================
应该用DATEDIFF吧~~~
SELECT * FROM TBL WHERE DATEDIFF(DATEPART,TIME1,TIME2)>0.5
i9988
2006-10-24
打赏
举报
回复
楼上解释了
加个“最好”是因为有些功能没法避免使用函数
wcmj
2006-10-24
打赏
举报
回复
" 最好不要在索引字段用函数 "
意思是说,用了有可能会破坏索引,达不到索引的效果
《数学建模:基于R》一一导读
前 言 R是一款免费软件,主要用于统计分析、绘图和数据挖掘等.但随着R的广泛使用,R软件的求解能力已不仅仅局限于统计计算的内容,特别是R扩展程序包的下载和安装,大大地增强了R软件的计算与求解能力,例如,能够完成优化、图论与网络、数值分析等方面的计算.本书之所以命名为《数学建模:基于R》,是因为除介绍数学建模常用的统计方法外,还着重介绍了如何从CRAN(...
一个人把数学建模比赛打完 520特辑
数学建模单人速通
《R语言初学指南》一导读
前 言 R语言初学指南R是一个用于科学绘图和计算的计算机软件。它由统计学家和科学家编写并维护,以便科学家们在工作中使用。它易于使用,且有强大的功能。R正在科学和技术领域迅速传播,并为展示科学出版物中的图形数据建立标准。 R是免费的开源软件,可在大多数计算机(俗称电脑)上安装。它支持Windows、Mac和Unix/Linux操作系统。人们可从R语...
全国大学生数学建模竞赛禁用MATLAB?这届哈工大学生太难了
点击上方“3D视觉工坊”,选择“星标”干货第一
时间
送达【导读】全国大学生数学建模竞赛开赛在即,但有消息传来,此次比赛哈工大的学生将被禁止使用MathWorks旗下的MATLAB。但令人迷...
《MATLAB R2012a超级学习手册》一导读
前言 MATLAB R2012a超级学习手册MathWorks公司在1984年推出了一套高性能的数值计算和可视化软件——MATLAB。MATLAB全称“矩阵实验室”(Matrix Laboratory),是由著名的线性代数软件包LINPACK和特征值计算软件包EISPACK中的子程序为基础发展而成的一种开放式程序设计语言。 MATLAB集数值计算...
疑难问题
22,296
社区成员
121,728
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章