SQL - DATETIMEOFFSETFROMPARTS() 函数



SQL 的DATETIMEOFFSETFROMPARTS()函数允许您从日期的每个组成部分提取一个 datetimeoffset 值。它专门为给定的时间和日期返回一个 datetimeoffset 值,以及偏移量和精度。

DATETIMEOFFSETFROMPARTS 是 SQL Server 中的重要操作之一,用于从偏移量和精度创建日期和时间。根据给定的日期和时间组件输入,返回一个值。每个参数都是必需的。如果任何一个为 null,则返回 null。

语法

以下是 SQL DATETIMEOFFSETFROMPARTS() 函数的语法:

DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision )

参数

此函数接受十个参数,如下所述:

  • year - 指示年份的整数表达式。

  • month - 指示月份的整数表达式。

  • day - 指示日期的整数表达式。

  • hour - 指示小时的整数表达式。

  • minute - 指示分钟的整数表达式。

  • seconds - 指示秒的整数表达式。

  • fractions - 指示小数秒值的整数表达式。

  • hour_offset - 指示时区偏移量的小时部分的整数表达式。

  • minute_offset - 指示时区偏移量的分钟部分的整数表达式。

  • precision - 指示 DATETIMEOFFSETFROMPARTS 将返回的 datetimeoffset 值的精度的整数值。

示例

这里,我们使用 DATETIMEOFFSETFROMPARTS() 函数以及日期和时间参数,通过以下查询构造 DATETIMEOFFSET:

SELECT DATETIMEOFFSETFROMPARTS(2023, 02, 21, 12, 28, 30, 5000, 10, 30, 4) AS Result;

输出

当我们执行上述查询时,输出如下所示:

+---------------------------------+
| Result                          |
+---------------------------------+
| 2023-02-21 12:28:30.5000 +10:30 |
+---------------------------------+

示例

让我们看看另一种情况,我们将对日期使用 null 值,并通过运行以下查询检查结果:

SELECT DATETIMEOFFSETFROMPARTS(2023, 02, NULL, 12, 28, 30, 5000, 10, 30, 4) AS Result;

输出

当查询执行时,将生成如下所示的输出:

+-------+
| Result|
+-------+
| NULL  |
+-------+

示例

在以下示例中,我们将使用无效参数,这会导致 DATETIME2FROMPARTS() 函数返回错误,让我们通过运行以下查询来检查这一点:

SELECT DATETIMEOFFSETFROMPARTS(2023, 22, 21, 12, 28, 30, 5000, 10, 30, 4) AS Result;

输出

执行上述查询后,输出显示如下:

Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.

示例

让我们看看另一种情况,我们不指定所有参数的数量,并通过运行查询来检查结果:

SELECT DATETIMEOFFSETFROMPARTS(2023, 22, 21) AS Result;

输出

当查询执行时,将生成如下所示的输出:

The datetimeoffsetfromparts function requires 10 argument(s).

示例

这里,我们将最后一个精度值设为 NULL,并通过运行以下查询检查结果:

SELECT DATETIMEOFFSETFROMPARTS(2023, 22, 21, 12, 28, 30, 5000, 10, 30, NULL) AS Result;

输出

上述查询的输出如下所示:

Scale argument is not valid. Valid expressions for data type datetimeoffset scale argument are integer constants and integer constant expressions.

示例

在以下示例中,我们将精度值设置为大于小数部分,并使用以下查询检查结果:

SELECT DATETIMEOFFSETFROMPARTS(2023, 02, 21, 12, 28, 30, 363, 10, 30, 7) AS Result;

输出

当查询执行时,将生成如下所示的输出:

+------------------------------------+
| Result                             |
+------------------------------------+
| 2023-02-21 12:28:30.0000363 +10:30 |
+------------------------------------+

示例

让我们考虑另一种情况,我们将使用精度值小于小数部分,并使用以下查询检查结果:

SELECT DATETIMEOFFSETFROMPARTS(2023, 02, 21, 12, 28, 30, 363, 10, 30, 2) AS Result;

输出

运行上述查询后,将生成如下所示的输出:

Cannot construct data type datetimeoffset, some of the arguments have values which are not valid.
sql-date-functions.htm
广告

© . All rights reserved.