SQL Server 日期函数可以帮助我们处理日期和时间值。例如,您需要这些函数来获取当前日期或从列中提取年份或月份等。在本文中,我们将向您展示可用的日期函数列表及其描述。
SQL 日期函数
日期函数通常以 dd-mm-yyyy hh:mm:ss 格式或任何其他特定于系统的格式存储。但是,在某些情况下,我们需要提取单个部分,如月份、月份名称、年份、日期等。
有时,我们可能需要格式化日期,并在原始日期基础上添加或减去几天。在所有这些场景中,我们可以使用内置的标准 SQL Server 函数来操作日期和时间。
以下表格列表将向您展示可用的日期函数列表。使用这些链接了解 Sql Server 数据函数,包括获取数据、格式化日期时间等。
高精度 SQL 日期和时间函数
以下是高精度日期和时间函数。
| 函数 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| SysDateTime | SYSDATETIME() | datetime2(7) | 返回当前服务器实例运行所在系统的日期和时间。 |
| SysDateTimeOffset | SYSDATETIMEOFFSET() | datetimeoffset(7) | 返回当前服务器实例运行所在系统的日期和时间以及时区偏移。 |
| SysUTCDateTime | SYSUTCDATETIME() | datetime2(7) | 这将返回服务器实例运行所在计算机的日期和时间。这里,格式返回的是协调世界时或 UTC。 |
低精度 SQL 日期和时间函数
低精度数据和时间函数列表。
| 函数 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| Current_TimeStamp | CURRENT_TIMESTAMP | datetime | 返回当前服务器实例运行所在系统的日期时间。 |
| GetDate | GETDATE() | datetime | 返回服务器实例运行所在计算机的日期时间。 |
| GetUTCDate | GETUTCDATE () | datetime | 返回服务器实例运行所在系统的日期时间。这里,它返回的是协调世界时或 UTC 格式。 |
获取日期和时间部分
以下 SQL 函数可帮助您从用户指定的日期部分和时间部分提取。
| 函数 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| DateName | DATENAME (datepart, dt) | NVARCHAR | 返回用户指定的日期名称。 |
| DatePart | DATEPART (datepart, dt) | int | 返回用户给定的日期部分。 |
| DAY | DAY(dt) | int | 返回日期部分。 |
| Month | MONTH(dt) | int | 用户指定的月份部分。 |
| YEAR | YEAR(dt) | int | 返回用户指定的年份部分。 |
从部分获取日期和时间值
下面的 SQL 函数将从用户指定的部件返回日期和时间,或构造日期时间。
| 日期和时间函数 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| DateFromParts | DATEFROMPARTS (year, month, day) | date | 从给定的部分返回日期值。 |
| DateTime2FromParts | datetime2fromparts (year, month, day, hours, minute, seconds, fractions, precision) | datetime2 (precision) | 从给定的部分返回具有指定精度的 datetime2 值。 |
| DateTimeFromParts | datetimefromparts (year, month, day, hour, minute, seconds, milliseconds) | datetime | 从给定的部分返回 datetime 值。 |
| DateTimeOffsetFromParts | datetimeoffsetfroomparts (year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) | datetime (precision) | 从给定的部分返回具有指定偏移量和精度的 datetimeoffset 值。 |
| SmallDateTimeFromParts | smalldatetimefromparts (year, month, day, hours, minute) | smalldatetime | 从给定的部分返回 smalldatetime 值。 |
| TimeFromParts | TIMEFROMPARTS (hours, minutes, seconds, fractions, precision) | time (precision) | 返回具有指定精度的 Time 值。 |
SQL 函数计算日期和时间差异
以下函数将帮助您查找两个日期之间的差异。
| 姓名 | 语法 | 数据类型 | 描述 |
|---|---|---|---|
| DateDiff | DATEDIFF (datepart, startdate, enddate) | int | 它将计算开始日期和结束日期之间的差异。 |
| DateDiff_Big | DATEDIFF_BIG (datepart, startdate, enddate) | bigint | 与 DATEDIFF 相同,但它返回 bigint 数据类型。 |
SQL 函数修改日期和时间值
下面的函数可帮助您更改或修改用户指定的日期。
| 姓名 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| DateAdd | DATEADD(datepart, number, dt) | date 参数的数据类型 | 此日期函数通过添加用户指定的数字返回新的日期时间值。 |
| EoMonth | EOMONTH(start_date, Months_to_add) | Date,或第一个参数的返回类型。 | 返回带有可选偏移量的月份的最后一天。 |
| SwitchOffset | SWITCHOFFSET (DATETIMEOFFSET, Time_Zone) | datetimeoffset,具有第一个参数的小数精度。 | 它更改 DATETIMEOFFSET 值的时区偏移量。请记住,它会保留 UTC 值。 |
| ToDateTimeOffset | TODATETIMEOFFSET (Expression, Time_Zone) | datetimeoffset,具有第一个参数的小数精度。 | 它将 datetime2 值转换为 datetimeofset 值。 |
SQL Server 日期函数,用于获取或设置会话格式
以下显示的日期和时间函数将更改默认格式。通过此,您可以更改日期和时间的默认返回格式。
| 姓名 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| @@DateFirst | @@DATEFIRST | tinyint | 会话的当前值。 |
| Set DateFirst | SET DATEFIRST specific_number | 不适用 | 您可以将一周的第一天设置为 1 到 7 的数字。 |
| Set DateFormat | SET DATEFORMAT specific_format | 不适用 | 您可以设置日期的格式。 |
| @@Language | @@LANGUAGE | 不适用 | 此日期函数返回当前使用的语言。 |
| Set Language | SET LANGUAGE language_Name | 不适用 | 您可以根据需要设置或更改默认语言。 |
| sp_helplanguage | sp_helplanguage language_Name | 不适用 | 它返回有关给定语言及其格式的所有信息。 |
验证日期和时间值
我们可以使用下面显示的日期函数来验证给定值。
| 姓名 | 语法 | 返回数据类型 | 描述 |
|---|---|---|---|
| ISDATE | ISDATE(Expression) | int | 它确定输入表达式是否有效。 |
