SQLServer 日期函数大全

本文深入解析SQLServer中的日期函数,包括GetDate(), DateDiff(), DateAdd(), DatePart(), DateName()等常用函数的使用方法及示例,同时提供日期格式化技巧,帮助读者掌握SQLServer日期操作的核心技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQLServer 日期函数大全

一 SQL Server系统函数

1.1常用函数:

函数

参数/功能

示例

查询内容

1 GetDate()

返回系统当前时间

select GetDate()

2018-12-15 15:24:10

2 DateDiff (interval,date1,date2)

返回date2 与date1两个日期之间的差值 date2-date1

 SELECT DATEDIFF(YY,'2008-1-1',GETDATE())

SELECT DATEDIFF(MM,'2008-1-1',GETDATE())

可设置Format格式,yy,MM

 10

131

3 DateAdd (interval,number,date)

以interval指定的方式,加上number之后的日期

 SELECT DATEADD(YY,1,GETDATE())

2019-12-15 15:30:10

4 DatePart (interval,date)

返回日期date中,interval指定部分所对应的整数值

 SELECT DatePart(y,'2005-7-25 22:56:32')

 返回值为 206即这一年中第206天

5 DateName (interval,date)

返回日期date中,interval指定部分所对应的字符串名称

 SELECT DATENAME(dd,GETDATE())

 15

6 Day(),Month(),Year()

分别显示查询时间的日,月,年

select Day(getdate())

 select Month(getdate())

 15

12

1.2 Format格式对应显示部分示例:

Format值缩 写(Sql Server)说明
YearYy,yyyy年 1753 ~ 9999
QuarterQq,q季 1 ~ 4
Monthm,mm月1 ~ 12
Day of yearDy,y一年的日数,一年中的第几日 1-366
Dayd,dd日,1-31
WeekdayDw一周的日数,一周中的第几日 1-7
WeekWk,ww周,一年中的第几周 0 ~ 51
Hourhh时0 ~ 23
Minutemi,n分钟0 ~ 59
Secondss,s秒 0 ~ 59
MillisecondMs毫秒 0 ~ 999

二 详细说明

2.1 获取时间格式

1 select getdate()     --2018-12-15 15:24:10  --显示当前时间

2 select day(getdate())  --15

3 select month('2012-11-15') --11

4 select year('2008-06-06')  --2008

5 select datepart(year,GETDATE()) --2018

6 select datepart(month,GETDATE()) --12

7 select datepart(day,GetDate()) --15

2.2 其他内容:

1、SELECT CONVERT(VARCHAR(100), GETDATE(), 0) --12 15 2018  3:56PM

2、SELECT CONVERT(VARCHAR(100), GETDATE(), 112) --20181215  ,常用到的函数,后面跟的数字可以根据需要进行改变0,1,2,...

3、Select datename(YYYY,GETDATE())+'-'+datename(MM,GETDATE())  --2018-12 +合并字符串

 

4、select left(CONVERT(VARCHAR(100), GETDATE(), 120),7) --2018-12 获取左边7个字符串

5、select right(CONVERT(VARCHAR(100), GETDATE(), 120),5)  --03:55 右边字符串

2.3

1、--统计当前【>当天00点以后的数据】

SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC
2、--统计本周

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0
3、--统计本月

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0
4、统计当前

SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0
Select * From table with(nolock) Where Convert(varchar(10),[CreateTime],120) = Convert(varchar(10),getDate(),120)

 

posted on 2018-12-15 16:08 zoood 阅读(...) 评论(...) 编辑 收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值