GetDate() 返回系统当前时间
Convert() 数据类型转换,常用来格式化日期格式
CONVERT(data_type(length),data_to_be_converted,style)
数据类型(长度),要转换的数据,转换的格式码
SELECT CONVERT(varchar(100), GETDATE(), 0):09 22 2022 2:22PM
SELECT CONVERT(varchar(100), GETDATE(), 1):09/22/22
SELECT CONVERT(varchar(100), GETDATE(), 2):22.09.22
SELECT CONVERT(varchar(100), GETDATE(), 3):22/09/22
SELECT CONVERT(varchar(100), GETDATE(), 4):22.09.22
SELECT CONVERT(varchar(100), GETDATE(), 5):22-09-22
SELECT CONVERT(varchar(100), GETDATE(), 6):22 09 22
SELECT CONVERT(varchar(100), GETDATE(), 7):22 09 22
SELECT CONVERT(varchar(100), GETDATE(), 8):14:22:55
SELECT CONVERT(varchar(100), GETDATE(), 9):09 22 2022 2:22:55:580PM
SELECT CONVERT(varchar(100), GETDATE(), 10):09-22-22
DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果
select DATEADD(yy,2,GETDATE()):2024-09-22 14:31:53
select DATEADD(mm,2,GETDATE()):2022-11-22 14:31:53
DATEDIFF( 日期部分,日期1,日期2) 返回两个日期之间的差值 (日期2-日期1)
select DATEDIFF(yy,'2018-04-29',GETDATE()):4 相差年份
select DATEDIFF(dd,'2018-04-29',GETDATE()):1607 相差天数
-------------------返回两个日期相差几天几时几分几秒
SELECT CAST(FLOOR(DATEDIFF(MINUTE, @BeginTime, @EndTime) / 1440) AS VARCHAR)
+ '天'
+ CAST(FLOOR(( DATEDIFF(MINUTE, @BeginTime, @EndTime) % 1440 ) / 60) AS VARCHAR)
+ '小时'
+ CAST(FLOOR(( ( DATEDIFF(MINUTE, @BeginTime, @EndTime) )
- ( FLOOR(DATEDIFF(MINUTE, @BeginTime, @EndTime) / 1440)
* 1440 ) - ( FLOOR(( DATEDIFF(MINUTE, @BeginTime,
@EndTime) % 1440 )
/ 60) * 60 ) ))
+ CASE WHEN DATEPART(SECOND, @BeginTime) > DATEPART(SECOND, @EndTime)
THEN -1
ELSE 0
END AS VARCHAR) + '分钟'
+ CAST(DATEDIFF(SECOND, @BeginTime, @EndTime) % 60 AS VARCHAR) + '秒'
原文链接:https://blog.csdn.net/binguo168/article/details/76944695