SQL SYSDATETIMEOFFSET() 函数

SQL SYSDATETIMEOFFSET() 函数

SYSDATETIMEOFFSET() 函数返回一个 DATETIMEOFFSET(7) 类型的值,该值提供了当前系统日期和时间,同时包括执行 SQL Server 实例的计算机的时区。

SYSDATETIMEOFFSET 函数返回一个 datetime2 数据类型,格式为 yyyy-mm-dd hh:mm:ss.nnnnnn。

语法

以下是 SQL SYSDATETIMEOFFSET() 函数的语法 –

SYSDATETIMEOFFSET()

参数

这个函数不接受任何参数。

示例

让我们通过以下查询来检索sysdatetimeoffset –

SELECT SYSDATETIMEOFFSET() AS Result;

输出

当我们执行以上查询时,输出结果如下:

+------------------------------------+
| Result                             |
+------------------------------------+
| 2023-02-17 16:23:11.4906580 +05:30 |
+------------------------------------+

示例

在下面的示例中,我们将使用 DATEPART() 函数来检索时间区域的偏移量,该函数通过运行以下查询返回表示时间区域偏移量的整数值,以分钟为单位。

SELECT SYSDATETIMEOFFSET() AS 'Date and Time',
DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TimeZone Offset';

输出

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

+------------------------------------+-----------------+
| Date and Time                      | TimeZone Offset |
+------------------------------------+-----------------+
| 2023-02-17 16:30:19.6822375 +05:30 | 330             |
+------------------------------------+-----------------+

示例

在这里,我们使用 FORMAT() 函数来在字符串中检索时区的偏移量,我们还可以使用zz、z和zzz参数以所需的格式获取返回值。

让我们看一个示例,我们使用 FORMAT() 函数通过以下查询返回时区的偏移量:

SELECT SYSDATETIMEOFFSET() AS 'Date and Time',
   FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz';

输出

上述查询的输出结果如下所示 –

+------------------------------------+-----+
| Date and Time                      | zz  |
+------------------------------------------+
| 2023-02-17 16:30:19.6822375 +05:30 | +05 |
+------------------------------------+-----+

示例

在这里,我们使用 CONVERT() 函数将返回值转换为其他数据类型。

看下面的示例,我们将使用 CONVERT() 函数,并通过以下查询将返回值转换为日期值。

SELECT CONVERT (DATE, SYSDATETIMEOFFSET()) AS 'Date';

输出

如果我们执行以上查询,结果如下所示 –

+------------+
| Date       |
+------------+
| 2023-02-17 |
+------------+

示例

在此示例中,我们将使用DATEDIFF()函数和SYSDATETIMEOFFSET()函数来查找当前日期时间和变量之间的分钟和秒差异。

DECLARE @DATETIME DATETIME2
SET @DATETIME = '2023-02-17 05:40:10.3021234'
SELECT 'Minutes_Difference' AS 'MINUTE', DATEDIFF(MINUTE, @DATETIME, SYSDATETIMEOFFSET()) AS NumberofMinutes;
SELECT 'Seconds_Difference' AS 'SECOND', DATEDIFF(SECOND, @DATETIME, SYSDATETIMEOFFSET()) AS NumberofSeconds;

输出

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

+--------------------+-----------------+
| MINUTE             | NumberofMinutes |
+--------------------+-----------------+
| Minutes_Difference | 391             |
+--------------------+-----------------+

+--------------------+-----------------+
| SECOND             | NumberofSeconds |
+--------------------+-----------------+
| Seconds_Difference | 23460           |
+--------------------+-----------------+

示例

在下面的示例中,我们将使用 DATENAME() 函数从今天的日期和时间中检索月份名称,您可以运行以下查询来实现:

SELECT DATENAME(month, SYSDATETIMEOFFSET()) AS PresentMonth;

输出

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

+--------------+
| PresentMonth |
+--------------+
| February     |
+--------------+

示例

在下面的示例中,我们将使用 DATEPART() 函数根据当前日期和时间检索毫秒,通过运行以下查询:

SELECT DATEPART(millisecond, SYSDATETIMEOFFSET()) AS MilliSeconds;

输出

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

+--------------+
| MilliSeconds |
+--------------+
| 718          |
+--------------+

示例

在这里,我们使用 CONVERT() 函数,通过以下查询将返回值转换为时间值:−

SELECT CONVERT (TIME, SYSDATETIMEOFFSET()) AS 'Time';

输出

运行上述查询时,将生成如下所示的输出结果。

+------------------+
| Time             |
+------------------+
| 18:00:20.2808586 |
+------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程