SQL Server 时间查询

日期查询

常用时间函数

datepart 参考值

yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微秒 mcs
纳秒 ns

1. DATEADD() 函数在日期中添加或减去指定的时间间隔

DATEADD(datepart,number,date)
date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数

SELECT  DATEADD(MINUTE,-10,GETDATE()) --获取当前时间10分钟之内的数据
SELECT  DATEADD(YEAR,1,getdate()) --一年前
SELECT  DATEADD(MONTH,6,getdate()) --+6个月时间点
SELECT  DATEADD(WEEK,1,getdate()) --一周
SELECT  DATEADD(DAY,2,getdate()) -- 2天
SELECT  DATEADD(HOUR,12,getdate()) --12小时
SELECT  DATEADD(SECOND,30,getdate()) -- 30秒

2.DATEDIFF() 函数返回两个日期之间的时间。

DATEDIFF(datepart,startdate,enddate)
startdate 和 enddate 参数是合法的日期表达式

SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())=0	   --今天的所有数据:
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())=1	   --昨天的所有数据:
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())<=7	   --7天内的所有数据
SELECT * FROM table WHERE DATEDIFF(dd,StartDate,getdate())<=30	   --30天内的所有数据
SELECT * FROM table WHERE DATEDIFF(mm,StartDate,getdate())=0	   --本月的所有数据:
SELECT * FROM table WHERE DATEDIFF(yy,StartDate,getdate())=0	   --本年的所有数据:

3.DATEPART()返回一个整数,它是日期的一部分,例如日,月和年。

DATEPART ( date_part , input_date )

--获取当前时间的年月日
(DATEPART(yy,getdate())=2019
(DATEPART(mm,getdate())=12
(DATEPART(dd,getdate())=12

SELECT DATEPART(DAYOFYEAR,GETDATE()) --	查询今天是今年的第几天
SELECT DATEPART(dd,GETDATE())        --	查询今天是本月的第几天

4. CONVERT()是把日期转换为新数据类型的通用函数,可以用不同的格式显示日期/时间数据

CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110) 
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)

5.YEAR()函数返回表示指定日期中的年份的整数。

Year('2019-12-12') 值为 2019

6.MONTH()函数返回表示指定日期中的月份的整数。

Month('2019-12-12')值为12

7.DAY()函数返回表示指定日期中的日期的整数。

Day('2019-12-12')值为12

posted @   Winston's  阅读(1326)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示