SQL Server 中常用的日期函数:
函数 | 描述 |
---|---|
GETDATE() | 返回当前的日期和时间 |
DATEPART() | 返回日期/时间的单独部分 |
DATEADD() | 在日期中添加或减去指定的时间间隔 |
DATEIFF() | 返回两个日期之间的时间 |
CONVERT() | 用不同的格式显示日期/时间 |
函数说明:
1、 GETDATE() 返回当前的日期和时间,实例如下:
2、DATEPART() 返回日期/时间的单独部分
语法:DATEPART ( datepart , date )
可以使用的 datepart 值:
datepart | 缩写 |
---|---|
年 | yy, yyyy |
季度 | qq, q |
月 | mm, m |
年中的日 | dy, y |
日 | dd, d |
周 | wk, ww |
星期 | dw, w |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微妙 | mcs |
纳秒 | ns |
示例如下:
拓展:DATENAME() DATEPART() 的用法与类似,但DATENAME() 的返回类型是nvarchar而DATEPART() 返回类型是 int
3、DATEADD() 在日期中添加或减去指定的时间间隔
语法:DATEADD (datepart , number , date )
参数说明:将指定的 number 值(作为带符号整数)与输入 date 值的指定 datepart 相加,然后返回该修改值
示例如下:
4、DATEIFF() 返回两个日期之间的时间
语法:DATEDIFF ( datepart , startdate , enddate )
参数说明:返回指定的 startdate 和 enddate 之间所跨的指定 datepart 边界的计数(作为带符号整数值)
示例如下:
5、CONVERT() 用不同的格式显示日期/时间
语法:CONVERT(data_type(length),data_to_be_converted,style)
参数说明:data_type(length) 规定目标数据类型(带有可选的长度);data_to_be_converted 含有需要转换的值;style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID | Style 格式 |
---|---|
100 或者 0 | mon dd yyyy hh:miAM (或者 PM) |
101 | mm/dd/yy |
102 | yy.mm.dd |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
109 或者 9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
113 或者 13 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
120 或者 20 | yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 | yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 | yyyy-mm-ddThh:mm:ss.mmm(没有空格) |
130 | dd mon yyyy hh:mi:ss:mmmAM |
131 | dd/mm/yy hh:mi:ss:mmmAM |
示例如下:
SQL 汇集:
-- 1、
SELECT GETDATE()
-- 2、
SELECT GETDATE() Date,
DATEPART(yy, GETDATE() ) Year ,
DATEPART(mm, GETDATE() ) Month,
DATEPART(dd, GETDATE() ) Day,
DATEPART(dy, GETDATE() ) year_Day,
DATEPART(dw,GETDATE() ) Weekday,
DATEPART(wk,GETDATE() ) Weekno;
-- 3、
SELECT GETDATE() Date,
DATEADD(year, -2, GETDATE()) 前年的今天,
DATEADD(month, -1, GETDATE()) 上月的今天,
DATEADD(day, 1, GETDATE()) 明天
-- 4、计算前年第一天到今天之间有多少天
SELECT DATEDIFF(DAY,'20180101','20200224')
-- 5、
SELECT CONVERT(VARCHAR(19),GETDATE()),
CONVERT(VARCHAR(10),GETDATE(),110) ,
CONVERT(VARCHAR(11),GETDATE(),106),
CONVERT(VARCHAR(24),GETDATE(),113)
若想了解这些函数的更多示例,可点击 此处
希望对你有帮助!!!
欢迎在评论区讨论,有什么写得不对的,欢迎指出来