- 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 与 UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接与右连接
- SQL - Union 与 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 与 Order By
- SQL - IN 与 EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
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.