同一个表,有时间字段,比如我现在查询2015年5月份数据特别的慢,有时候根本就查不出来,而其他月份的数据就很快。
1条回答 默认 最新
- qq_32730069 2015-11-11 07:16关注
本文对应Sql Server 中常用的时间查询的进行一些汇总,例如查询当天的、本周的、本月的、本季度的,某个时间段内的时间。
实例
实例(我的)表名:mytable 字段名:mydate(一)、当天(某两个时间段)
select * from mytable where DATEDIFF(dd,mydate,GETDATE())=0语法:DATEDIFF(datepart,startdate,enddate)
复制代码
意义:DATEDIFF() 函数返回两个日期之间的天数。datepart 参数值:(表1-1)
datepart
缩写
年
yy, yyyy
季度
qq, q
月
mm, m
年中的日
dy, y
日
dd, d
周
wk, ww
星期
dw, w
小时
hh
分钟
mi, n
秒
ss, s
毫秒
ms
微妙
mcs
纳秒
ns例如:
SELECT DATEDIFF(dd,'2012-5-17','2012-12-18') AS DiffDate
复制代码结果:
DiffDate
1(二)、本周
select * from mytable where
DATEPART(wk, mydate)==DATEPART(wk,GETDATE()) and -- 周时间相等
DATEPART(yy, mydate) = DATEPART(yy, GETDATE()) -- 年时间相等
复制代码
语法:DATEDIFF(datepart,date)
意义:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。datepart
参数值:见表(1-1)。(三)、本月
select * from mytable where
DATEPART(mm, mydate)==DATEPART(mm,GETDATE()) and -- 月时间相等
DATEPART(yy, mydate) = DATEPART(yy, GETDATE()) -- 年时间相等
复制代码
语法:DATEDIFF(datepart,date)
意义:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。datepart
参数值:见表(1-1)。
...其它如上语法。总结
希望本文对大家有用,如有好的建议欢迎留言补充,如果对您有用,请点击支持,谢谢
解决 无用评论 打赏 举报
悬赏问题
- ¥15 有赏,i卡绘世画不出
- ¥15 如何用stata画出文献中常见的安慰剂检验图
- ¥15 c语言链表结构体数据插入
- ¥40 使用MATLAB解答线性代数问题
- ¥15 COCOS的问题COCOS的问题
- ¥15 FPGA-SRIO初始化失败
- ¥15 MapReduce实现倒排索引失败
- ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
- ¥15 找一位技术过硬的游戏pj程序员
- ¥15 matlab生成电测深三层曲线模型代码