SQL Server 日期加减时间脚本

需求场景:
在 SQL Server 中,如果想将表【DemoTable】中“CreateDate ”日期(Date 类型,或 DateTime 类型但数据是 2024-06-01 00:00:00.000)转换为 DateTime 并在其后增减时间。

原日期时间:2024-06-01 00:00:00.000

 


 

1、在原日期时间的基础上加 23 小时

在 SQL Server 中,要将日期后面加上 23 小时,可以使用 DATEADD 函数来增加指定的时间间隔。

SELECT DATEADD(HOUR, 23, CreateDate ) AS CreateDateTime 
FROM  DemoTable

 


2、在原日期时间的基础上加 24 小时 59 分

在 SQL Server 中,要将日期(Date 类型)后面加上 23:59,可以使用 DATEADD 函数来实现。DATEADD 函数可以在日期上添加或减去指定的时间间隔。

SELECT DATEADD(MINUTE, 59, DATEADD(HOUR, 23, CreateDate )) AS CreateDateTime 
FROM DemoTable

 


 

3、在原日期时间的基础上加 24 小时 59 分 59 秒

在 SQL Server 中,如果想将日期(Date 类型)转换为 DateTime 并在其后加上时间 23:59:59,你可以使用以下方法:

方法一:使用 CAST 和 CONVERT 函数

CAST 和 CONVERT 函数可以将日期转换为日期时间。

SELECT CAST(CreateDate AS DATETIME) + CAST('23:59:59' AS TIME) AS CreateDateTime
FROM DemoTable

方法二:使用 DATEADD 函数

DATEADD 函数可以在日期上添加特定的时间间隔。如:我们首先给日期添加一天,然后减去 1 秒钟,得到的结果就是原日期的 23:59:59。


SELECT DATEADD(SECOND, -1, DATEADD(DAY, 1, CreateDate )) AS CreateDateTime
FROM DemoTable

 

方法三:使用 EOMONTH 函数

EOMONTH 函数可以返回一个日期所在月份的最后一天。

SELECT EOMONTH(CreateDate ) AS CreateDateTime
FROM DemoTable

 

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...