📜  sql server 添加时间到日期 - SQL (1)

📅  最后修改于: 2023-12-03 15:20:15.575000             🧑  作者: Mango

SQL Server 添加时间到日期

在SQL Server中,将时间添加到日期相对简单。您可以使用内置的DATEADD函数来添加指定的时间间隔(如小时、分钟、秒)到给定的日期。

使用DATEADD函数添加时间

DATEADD函数的语法如下:

DATEADD(interval, number, date)

其中,interval参数指定要添加的时间间隔,可以是以下值之一:

  • year:年
  • quarter:季度
  • month:月
  • dayofyear:年中天数
  • day:日
  • week:周
  • hour:小时
  • minute:分钟
  • second:秒
  • millisecond:毫秒
  • microsecond:微秒
  • nanosecond:纳秒

number参数指定要添加的时间间隔的数量。

date参数指定要添加时间间隔的日期。

以下是一个示例,演示如何将时间添加到日期:

DECLARE @Date DATETIME
SET @Date = '2022-01-01'

SELECT DATEADD(hour, 2, @Date) AS AddedHours
-- 将2个小时添加到指定日期

输出:

AddedHours
-----------------------
2022-01-01 02:00:00.000
将时间从格式化的字符串转换为时间

如果您需要将格式化的字符串转换为时间,则可以使用内置的CONVERT函数。以下是一个示例:

DECLARE @Time VARCHAR(8)
SET @Time = '08:30:00'

SELECT CONVERT(TIME, @Time) AS ConvertedTime;
-- 将字符串 '08:30:00' 转换为 TIME 数据类型

输出:

ConvertedTime
----------------
08:30:00.0000000
将时间添加到日期的示例

下面是一个示例,演示如何将时间添加到日期:

DECLARE @Date DATETIME
SET @Date = '2022-01-01'

DECLARE @Time VARCHAR(8)
SET @Time = '08:30:00'

SELECT DATEADD(hour, DATEPART(hour, CONVERT(TIME, @Time)), @Date) AS AddedHours,
       DATEADD(minute, DATEPART(minute, CONVERT(TIME, @Time)), @Date) AS AddedMinutes,
       DATEADD(second, DATEPART(second, CONVERT(TIME, @Time)), @Date) AS AddedSeconds;
-- 将指定时间添加到指定日期

输出:

AddedHours                  AddedMinutes                AddedSeconds
--------------------------- --------------------------- ---------------------------
2022-01-01 08:00:00.000     2022-01-01 08:30:00.000     2022-01-01 08:30:00.000

这个示例将指定的时间(08:30:00)添加到指定的日期(2021-01-01),并返回添加小时、添加分钟和添加秒的结果。