服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SqlServer常用函数及时间处理小结

SqlServer常用函数及时间处理小结

2023-05-06 14:52个人记录与分享 Sql Server

这篇文章主要介绍了SqlServer常用函数及时间处理小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

YEAR() 函数返回一个整数值,它表示指定日期的年份,一般使用为:Year(时间),如:

?
1
YEAR('2023-03-14 16:50:08.543')--2023

REPLACE() 字符串替换函数,一般使用为:REPLACE(被搜索字符串,需要替换的字符串,替换值),如:

?
1
REPLACE('测试添加的','的','测试数据')--测试添加测试数据

STUFF() 函数用于删除指定长度的字符,并可以在指定的起点处插入另一组字符,一般使用为:STUFF(字符串,从1开始计算字符开始位置,要删除的字符数,要重新插入的字符串),如:

?
1
STUFF('测试添加的',3,2,'修改')--测试修改的

DATEADD() 函数将数字值添加到输入日期的指定日期部分,并返回修改后的值,一般使用为:DATEADD(需要对时间的什么部分操作,时间,间隔数–过去为负数未来为正数),如:

?
1
DATEADD(Year, -7,GETDATE())`--2016-03-14 16:48:01.317

DATEDIFF() 函数返回两个日期之间的差值。一般使用为:DATEDIFF(需要时间差距部分,开始时间,结束时间),如:

?
1
2
3
4
5
6
7
8
9
DATEDIFF(MS,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') --300000 (毫秒)
DATEDIFF(SS,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') --300 (秒)
DATEDIFF(MI,'2023-03-14 16:45:08.543','2023-03-14 16:50:08.543') -- 5 (分钟)
DATEDIFF(HOUR,'2023-03-14 12:50:08.543','2023-03-14 16:50:08.543') -- 4 (小时)
DATEDIFF(DAY,'2023-03-01 16:50:08.543','2023-03-14 16:50:08.543')--13 (天)
DATEDIFF(WEEK,'2023-03-01 16:50:08.543','2023-03-14 16:50:08.543')--2 (周)
DATEDIFF(MONTH,'2023-02-01 16:50:08.543','2023-03-14 16:50:08.543') --1 (月)
DATEDIFF(QUARTER,'2023-01-01 16:50:08.543','2023-04-14 16:50:08.543') -- 1 (季度)
DATEDIFF(YEAR,'2022-02-01 16:50:08.543','2023-03-14 16:50:08.543')-- 1 (年)

比较常用的一些Sql时间相关查询

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
--获取当前时间的月日部分,并处理为【月/日】格式
Select STUFF(REPLACE(CONVERT(VARCHAR(10),GETDATE(),111),YEAR(GETDATE()),''),1,1,'') --03/14
--获取当前时间的前7天,如需获取前后几天则针对【-7】这个值进行修改
Select DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), -7)--2023-03-07 00:00:00.000
--获取本月最后一天日期
Select CONVERT(VARCHAR(10),DATEADD(MONTH,DATEDIFF(MONTH, -1, GETDATE()), -1),23)--2023-03-31
--获取上月最后一天日期
Select CONVERT(VARCHAR(10),DATEADD(MONTH,DATEDIFF(MONTH, 0, GETDATE()), -1),23)--2023-02-28
 --本年第一天
Select DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),0)--2023-01-01 00:00:00.000
--本年最后一天
Select  DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,1,GETDATE())),-1)--2023-12-31 00:00:00.000
--下年第一天
Select  DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,1,GETDATE())),0)--2024-01-01 00:00:00.000
--下年最后一天
Select  DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,2,GETDATE())),-1)--2024-12-31 00:00:00.000
--上年第一天
Select DATEADD(YEAR,DATEDIFF(YEAR,0,DATEADD(YEAR,-1,GETDATE())),0)--2022-01-01 00:00:00.000
--上年最后一天
Select DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),-1)--2022-12-31 00:00:00.000

Sql CONVERT日期格式转换

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SELECT CONVERT(varchar(100), GETDATE(), 0) --03 14 2023  5:06PM
SELECT CONVERT(varchar(100), GETDATE(), 1) --03/14/23
SELECT CONVERT(varchar(100), GETDATE(), 2) --23.03.14
SELECT CONVERT(varchar(100), GETDATE(), 3) --14/03/23
SELECT CONVERT(varchar(100), GETDATE(), 4) --14.03.23
SELECT CONVERT(varchar(100), GETDATE(), 5) --14-03-23
SELECT CONVERT(varchar(100), GETDATE(), 6) --14 03 23
SELECT CONVERT(varchar(100), GETDATE(), 7) --03 14, 23
SELECT CONVERT(varchar(100), GETDATE(), 8) --17:07:16
SELECT CONVERT(varchar(100), GETDATE(), 9) --03 14 2023  5:07:16:800PM
SELECT CONVERT(varchar(100), GETDATE(), 10) --03-14-23
SELECT CONVERT(varchar(100), GETDATE(), 11) --23/03/14
SELECT CONVERT(varchar(100), GETDATE(), 12) --230314
SELECT CONVERT(varchar(100), GETDATE(), 13) --14 03 2023 17:07:29:713
SELECT CONVERT(varchar(100), GETDATE(), 14) --17:07:43:390
SELECT CONVERT(varchar(100), GETDATE(), 20) --2023-03-14 17:07:43
SELECT CONVERT(varchar(100), GETDATE(), 21) --2023-03-14 17:07:43.390
SELECT CONVERT(varchar(100), GETDATE(), 22) --03/14/23  5:07:56 PM
SELECT CONVERT(varchar(100), GETDATE(), 23) --2023-03-14
SELECT CONVERT(varchar(100), GETDATE(), 24) --17:07:56
SELECT CONVERT(varchar(100), GETDATE(), 25) -- 2023-03-14 17:06:11.847
SELECT CONVERT(varchar(100), GETDATE(), 100) --03 14 2023  5:06PM
SELECT CONVERT(varchar(100), GETDATE(), 101) --03/14/2023
SELECT CONVERT(varchar(100), GETDATE(), 102) --2023.03.14
SELECT CONVERT(varchar(100), GETDATE(), 103) --14/03/2023
SELECT CONVERT(varchar(100), GETDATE(), 104) --14.03.2023
SELECT CONVERT(varchar(100), GETDATE(), 105) --14-03-2023
SELECT CONVERT(varchar(100), GETDATE(), 106) --14 03 2023
SELECT CONVERT(varchar(100), GETDATE(), 107) --03 14, 2023
SELECT CONVERT(varchar(100), GETDATE(), 108) --17:08:31
SELECT CONVERT(varchar(100), GETDATE(), 109) --03 14 2023  5:08:43:493PM
SELECT CONVERT(varchar(100), GETDATE(), 110) --03-14-2023
SELECT CONVERT(varchar(100), GETDATE(), 111) --2023/03/14
SELECT CONVERT(varchar(100), GETDATE(), 112) --20230314
SELECT CONVERT(varchar(100), GETDATE(), 113) --14 03 2023 17:08:57:650
SELECT CONVERT(varchar(100), GETDATE(), 114) --17:08:57:650
SELECT CONVERT(varchar(100), GETDATE(), 120) --2023-03-14 17:09:09
SELECT CONVERT(varchar(100), GETDATE(), 121) --2023-03-14 17:09:09.177

到此这篇关于SqlServer常用函数及时间处理小结的文章就介绍到这了,更多相关SqlServer常用函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/lwk9527/p/17374121.html

延伸 · 阅读

精彩推荐