- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接 vs 右连接
- SQL - Union vs Join
- SQL 密钥
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 复合键
- SQL - 备用键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 集群索引
- SQL - 非集群索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - 空值函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL - SYSUTCDATETIME() 函数
SQL 的SYSUTCDATETIME() 函数是日期函数之一,用于返回最新的系统时间戳作为 datetime2 值。此 SYSUTCDATETIME 函数的返回值是当前协调世界时 (UTC 时间)。此外,它来自 SQL Server 实例正在运行的计算机的操作系统 (OS)。
SYSUTCDATETIME() 方法以 yyyy-mm-dd hh:mi:ss.mmmmmmm 的格式返回系统时间和日期。我们可以观察到 SYSUTCDATETIME() 和 GETUTCDATE() 都返回 SQL Server 正在运行的计算机的相同日期和时间。但是,它们只有一点不同。
GETUTCDATE() 将其值返回为 datetime
SYSUTCDATETIME() 将其值返回为 datetime2
这表明 SYSUTCDATETIME() 提供了更高的秒精度。datetime2 数据类型比 datetime 具有更大的范围。
语法
以下是 SQL SYSUTCDATETIME() 函数的语法 -
SYSUTCDATETIME()
参数
此函数不接受任何参数。
示例
在以下示例中,我们尝试检索当前 UTC 日期和时间 -
SELECT GETUTCDATE() AS UTCTimeDate;
输出
当我们执行上述查询时,输出如下所示 -
+-------------------------+ | UTCTimeDate | +-------------------------+ | 2023-02-20 05:28:27.850 | +-------------------------+
示例
在以下示例中,我们使用 convert() 函数和 sysutcdatetime() 函数将输出转换为仅当前 UTC 日期。
SELECT CONVERT(DATE, SYSUTCDATETIME()) AS UTCDate;
输出
执行上述查询后,输出将显示如下 -
+------------+ | UTCDate | +------------+ | 2023-02-20 | +------------+
示例
让我们来看另一个示例,其中我们使用CONVERT() 函数和 sysutcdatetime() 函数通过以下查询将输出转换为仅当前时间 -
SELECT CONVERT(TIME, SYSUTCDATETIME()) AS UTCTime;
输出
上述查询的输出如下所示 -
+------------------+ | UTCTime | +------------------+ | 05:34:33.0180845 | +------------------+
示例
在这里,我们使用FORMAT() 函数格式化我们需求的日期,使用以下查询 -
SELECT FORMAT(SYSUTCDATETIME(), 'dd MMMM yyyy, hh:mm tt') AS Result;
输出
查询执行后,将生成如下所示的输出 -
+----------------------------+ | Result | +----------------------------+ | 20 February 2023, 05:39 AM | +----------------------------+
示例
在以下示例中,我们使用 sysutcdatetime() 分配给任何日期和时间类型的变量 -
DECLARE @UTC date = SYSUTCDATETIME(); SELECT @UTC AS 'UTC Date';
输出
运行上述查询后,将生成如下所示的输出 -
+------------+ | UTCDate | +------------+ | 2023-02-20 | +------------+
示例
查看以下示例,我们将使用DATEPART() 仅获取返回值的一部分。执行以下查询以仅从 sysutcdatetime() 中检索毫秒 -
SELECT DATEPART(millisecond, SYSUTCDATETIME()) AS MilliSeconds;
输出
如果我们执行上述查询,则结果将如下所示 -
+--------------+ | MilliSeconds | +--------------+ | 861 | +--------------+
示例
在这里,我们使用DATEPART() 并通过运行以下查询检索 sysutcdatetime() 中的微秒 -
SELECT DATEPART(microsecond, SYSUTCDATETIME()) AS MicroSeconds;
输出
执行上述查询后,将生成如下所示的输出 -
+--------------+ | MicroSeconds | +--------------+ | 121364 | +--------------+
示例
在以下示例中,我们使用DATENAME() 函数显示当前日期的星期几名称 -
SELECT DATENAME(WEEKDAY, SYSUTCDATETIME()) AS Day;
输出
执行上述查询后,将生成如下所示的输出 -
+--------+ | Day | +--------+ | Monday | +--------+
示例
假设我们在 SQL 数据库中使用 CREATE 语句创建了一个名为 Employees 的表,如下面的查询所示 -
CREATE TABLE Employees( ID INT, Name VARCHAR(255), LoginStamp DATETIME2, PRIMARY KEY (ID) );
现在,让我们使用 INSERT 语句在 EMPLOYEE 表中插入一些记录,如下面的查询所示 -
INSERT INTO Employees VALUES (1, 'Shikhar','2019-10-25 09:20:38.4142345'); INSERT INTO Employees VALUES (2, 'Rana','2019-10-25 09:24:35.1231232'); INSERT INTO Employees VALUES (3, 'Ram','2019-10-25 09:25:24.3214589');
我们可以使用以下查询验证表 IPLPlayers 是否已创建 -
SELECT * FROM Employees;
表 Employees 已在 SQL 数据库中成功创建 -
+----+------------+----------------------------+ | ID | Name | LoginStamp | +----+------------+----------------------------+ | 1 | Shikhar | 2019-10-25 09:20:38.4142345| | 2 | Rana | 2019-10-25 09:24:35.1231232| | 3 | Ram | 2019-10-25 09:25:24.3214589| +----+------------+----------------------------+
现在,我们将使用 sysutcdatetime() 通过运行以下查询向 Employees 表中添加包含新员工的行 -
INSERT INTO Employees VALUES (4, 'Suresh', SYSUTCDATETIME());
验证
要检查该行是否已插入,请使用以下查询 -
SELECT * FROM Employees;
输出
当我们执行上述查询时,输出如下所示 -
+----+------------+----------------------------+ | ID | Name | LoginStamp | +----+------------+----------------------------+ | 1 | Shikhar | 2019-10-25 09:20:38.4142345| | 2 | Rana | 2019-10-25 09:24:35.1231232| | 3 | Ram | 2019-10-25 09:25:24.3214589| | 4 | Suresh | 2023-02-20 06:51:03.2998780| +----+------------+---------------+------------+