1. 日期函数
1.1 获取当前日期GETDATE
SELECT GETDATE() AS DT
结果: 2024-08-05 08:03:13
1.2 日期加减函数DATEADD
DATEADD() 函数在日期中添加或减去指定的时间间隔。
语法:DATEADD(datepart,number,date)
其中参数的解释如下:
- datepart: 需要添加的日期部分,如年(YEAR)、季度(QUARTER)、月(MONTH)、周(WEEK)、天(DAY)、小时(HOUR)、分钟(MINUTE)、秒(SECOND)等。
- interval: 需要添加的时间间隔,可以为正数或负数。
- datetime: 要进行加、减操作的日期。
datepart参数可以是下列缩写:
年 yy, yyyy
季度 qq, q
月 mm, m
年中的日 dy, y
日 dd, d
周 wk, ww
星期 dw, w
小时 hh
分钟 mi, n
秒 ss, s
毫秒 ms
微妙 mcs
纳秒 ns
实例:
1.年份加1
SELECT DATEADD(YEAR,1,'2024-02-03 03:09:18') as NEXT_YEAR
结果:2025-02-03 03:09:18
2.月份减1
SELECT DATEADD(MONTH,-1,'2024-02-03 03:09:18') AS LAST_MONTH
结果:2024-01-03 03:09:18
1.3 日期差值DATEDIFF
DATEDIFF() 用于计算两个日期之间的时间间隔。它接受三个参数:时间间隔单位、开始日期和结束日期,并返回两个日期之间的单位时间间隔。(请注意,第二个日期比第一个日期早,结果将是一个负数)
语法:DATEDIFF(interval, start_date, end_date)
实例:
计算日期差值
SELECT DATEDIFF(DAY,'2024-06-05','2024-08-05') AS DiffDate
结果:61
1.4 年月最后一天EMONTH
SELECT EOMONTH('2023-04-19') AS LastDayOfMonth;
结果:2023-04-30
1.5 返回日期指定部分作为字符串DATENAME
用于返回日期/时间值的指定部分(如年、月、日)作为字符串
语法:DATENAME ( datepart , date )
其中:
datepart
是你想要返回的日期/时间部分。例如,year
、month
、day
等。date
是你想要从中提取日期部分的日期/时间值。
实例:
SELECT DATENAME(YEAR,'2024-09-01') as YEAR_STR
返回字符类型 2024
1.6 返回日期指定部分作为整形DATEPART
用于返回日期/时间值的指定部分(如年、月、日)作为整形
语法:DATEPART ( datepart , date )
SELECT DATEPART(YEAR,'2024-09-01') as YEAR_INT
返回整数类型 2024
2. 特殊日期获取
2.1 上月月初
SELECT DATEADD(dd,-DAY(dateadd(MONTH,-1,GETDATE()))+1,dateadd(MONTH,-1,GETDATE()))
结果: 2024-07-01 08:03:13
2.2 上月月底
SELECT DATEADD(dd,-DAY(GETDATE()),GETDATE())
结果: 2024-07-31 08:03:13
2.3 本月月初
SELECT DATEADD(MONTH,datediff(MONTH,0,GETDATE()),0)
结果:2024-08-01 08:03:13
2.4 本月月底
SELECT DATEADD(dd,-DAY(dateadd(MONTH,1,GETDATE())),dateadd(MONTH,1,GETDATE()))
结果:2024-08-31 08:03:13
2.5 下月月初
SELECT DATEADD(dd,-DAY(dateadd(MONTH,1,GETDATE()))+1,dateadd(MONTH,1,GETDATE()))
结果:2024-09-01 08:03:13
2.6 下月月底
SELECT DATEADD(dd,-DAY(dateadd(MONTH,2,GETDATE())),dateadd(MONTH,2,GETDATE()))
结果:2024-09-30 08:03:13
3. 日期格式转换
3.1 FORMAT函数
日期函数FORMAT()可以用来格式化日期。
语法:FORMAT ( value, format [, culture ] )
value
: 要格式化的日期或时间值。format
: 指定日期或时间的输出格式的字符串。culture
: (可选)指定地区性规则的字符串。
实例:
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd HH:mm:ss') AS F_DT;
结果:2024-08-05 08:03:13
3.2 CONVERT函数
CONVERT() 函数是把日期转换为新数据类型的通用函数,CONVERT() 函数可以用不同的格式显示日期/时间数据。此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)
相互转换的时候才用到.
语法:CONVERT(data_type[(length)],expression[,style])
data_type[(length)]
表示要转换成的数据类型及其长度,expression
是要转换的表达式,style
是转换的样式代码。
实例:
SELECT CONVERT(nvarchar(50),GETDATE() ,112)
结果:20240805
其中112表示时间格式为yyyymmdd
常见时间格式有
标签:03,MONTH,2024,日期,SQLServe,相关,SELECT,GETDATE From: https://blog.csdn.net/weixin_63814296/article/details/140933328101:mm/dd/yyyy
110:mm-dd-yyyy
111:yyyy/mm/dd/
112:yyyymmdd
120:yyyy-mm:dd hh:mm:ss
121:yyyy-mm:dd hh:mm:sssssss