SQL 日期函数

SQL Server 日期函数可以帮助我们处理日期和时间值。例如,您需要这些函数来获取当前日期或从列中提取年份或月份等。在本文中,我们将向您展示可用的日期函数列表及其描述。

SQL 日期函数

日期函数通常以 dd-mm-yyyy hh:mm:ss 格式或任何其他特定于系统的格式存储。但是,在某些情况下,我们需要提取单个部分,如月份、月份名称、年份、日期等。

有时,我们可能需要格式化日期,并在原始日期基础上添加或减去几天。在所有这些场景中,我们可以使用内置的标准 SQL Server 函数来操作日期和时间。

以下表格列表将向您展示可用的日期函数列表。使用这些链接了解 Sql Server 数据函数,包括获取数据、格式化日期时间等。

高精度 SQL 日期和时间函数

以下是高精度日期和时间函数。

函数语法返回数据类型描述
SysDateTimeSYSDATETIME()datetime2(7)返回当前服务器实例运行所在系统的日期和时间。
SysDateTimeOffsetSYSDATETIMEOFFSET()datetimeoffset(7)返回当前服务器实例运行所在系统的日期和时间以及时区偏移。
SysUTCDateTimeSYSUTCDATETIME()datetime2(7)这将返回服务器实例运行所在计算机的日期和时间。这里,格式返回的是协调世界时或 UTC。

低精度 SQL 日期和时间函数

低精度数据和时间函数列表。

函数语法返回数据类型描述
Current_TimeStampCURRENT_TIMESTAMPdatetime返回当前服务器实例运行所在系统的日期时间。
GetDateGETDATE()datetime返回服务器实例运行所在计算机的日期时间。
GetUTCDateGETUTCDATE ()datetime返回服务器实例运行所在系统的日期时间。这里,它返回的是协调世界时或 UTC 格式。

获取日期和时间部分

以下 SQL 函数可帮助您从用户指定的日期部分和时间部分提取。

函数语法返回数据类型描述
DateNameDATENAME (datepart, dt)NVARCHAR返回用户指定的日期名称。
DatePartDATEPART (datepart, dt)int返回用户给定的日期部分。
DAYDAY(dt)int返回日期部分。
MonthMONTH(dt)int用户指定的月份部分。
YEARYEAR(dt)int返回用户指定的年份部分。

从部分获取日期和时间值

下面的 SQL 函数将从用户指定的部件返回日期和时间,或构造日期时间。

日期和时间函数语法返回数据类型描述
DateFromPartsDATEFROMPARTS (year, month, day)date从给定的部分返回日期值。
DateTime2FromPartsdatetime2fromparts (year, month, day, hours, minute, seconds, fractions, precision)datetime2 (precision)从给定的部分返回具有指定精度的 datetime2 值。
DateTimeFromPartsdatetimefromparts (year, month, day, hour, minute, seconds, milliseconds)datetime从给定的部分返回 datetime 值。
DateTimeOffsetFromPartsdatetimeoffsetfroomparts (year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision)datetime (precision)从给定的部分返回具有指定偏移量和精度的 datetimeoffset 值。
SmallDateTimeFromPartssmalldatetimefromparts (year, month, day, hours, minute)smalldatetime从给定的部分返回 smalldatetime 值。
TimeFromPartsTIMEFROMPARTS (hours, minutes, seconds, fractions, precision)time (precision)返回具有指定精度的 Time 值。

SQL 函数计算日期和时间差异

以下函数将帮助您查找两个日期之间的差异。

姓名语法数据类型描述
DateDiffDATEDIFF (datepart, startdate, enddate)int它将计算开始日期和结束日期之间的差异。
DateDiff_BigDATEDIFF_BIG (datepart, startdate, enddate)bigintDATEDIFF 相同,但它返回 bigint 数据类型。

SQL 函数修改日期和时间值

下面的函数可帮助您更改或修改用户指定的日期。

姓名语法返回数据类型描述
DateAddDATEADD(datepart, number, dt)date 参数的数据类型此日期函数通过添加用户指定的数字返回新的日期时间值。
EoMonthEOMONTH(start_date, Months_to_add)Date,或第一个参数的返回类型。返回带有可选偏移量的月份的最后一天。
SwitchOffsetSWITCHOFFSET (DATETIMEOFFSET, Time_Zone)datetimeoffset,具有第一个参数的小数精度。它更改 DATETIMEOFFSET 值的时区偏移量。请记住,它会保留 UTC 值。
ToDateTimeOffsetTODATETIMEOFFSET (Expression, Time_Zone)datetimeoffset,具有第一个参数的小数精度。它将 datetime2 值转换为 datetimeofset 值。

SQL Server 日期函数,用于获取或设置会话格式

以下显示的日期和时间函数将更改默认格式。通过此,您可以更改日期和时间的默认返回格式。

姓名语法返回数据类型描述
@@DateFirst@@DATEFIRSTtinyint会话的当前值。
Set DateFirstSET DATEFIRST specific_number不适用您可以将一周的第一天设置为 1 到 7 的数字。
Set DateFormatSET DATEFORMAT specific_format不适用您可以设置日期的格式。
@@Language@@LANGUAGE不适用此日期函数返回当前使用的语言。
Set LanguageSET LANGUAGE language_Name不适用您可以根据需要设置或更改默认语言。
sp_helplanguagesp_helplanguage language_Name不适用它返回有关给定语言及其格式的所有信息。

验证日期和时间值

我们可以使用下面显示的日期函数来验证给定值。

姓名语法返回数据类型描述
ISDATEISDATE(Expression)int它确定输入表达式是否有效。
SQL Date and Time Functions