适用于:
SQL Server
Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 中的 SQL 分析端点
Microsoft Fabric 中的仓库
此函数将数字(有符号整数)添加到输入日期的日期部分,并返回修改后的日期/时间值 。 例如,可以使用此函数查找从今天开始的 7,000 分钟日期:number = 7000,datepart = minute,date = today。
有关所有 Transact-SQL 日期和时间数据类型和函数的概述,请参阅 日期和时间数据类型和函数 。
Transact-SQL 语法约定
datepart
向其中添加 int 数字的日期部分。 此表列出了所有有效的 datepart 参数 。
number
一个表达式,可解析为 将其与 date 的 datepart 相加的 int 。 对于 number, 接受 用户定义的变量值 。 会截断带小数部分的指定 number 值。 在这种情况下,它不会对数字值进行舍入。
date
可解析为下列值之一的表达式:
- date
- datetime
- datetimeoffset
- datetime2
- smalldatetime
- time
对于 日期, 接受列表达式、表达式、字符串文本或用户定义的变量。 字符串文字值必须解析为 datetime 。 使用四位数年份可避免含糊不清问题。 有关两位数年份的信息,请参阅“配置两位数年份截止”(服务器配置选项)。
此方法的返回值数据类型是动态的。 返回类型取决于为 提供的参数。 如果 的值是字符串文本日期,则 返回日期/时间值 。 如果为 提供了其他的有效输入数据类型,则 返回相同的数据类型。 如果字符串文本秒数小数位超过三位 (.nnn) 或如果字符串文本包含时区偏移量部分,则 引发错误。
, 并 返回相同的值。
每个 datepart 及其缩写都返回相同的值 。
如果以下各项为 true:
- datepart 为
- date 月份比返回月份的天数多
- 返回 月份中不存在日期 日期
则返回返回月份的最后一天。 例如,9 月有 30 天 (30) 天;因此,这些语句返回 :
number 参数不能超过 int 的范围。在以下语句中,数字的参数超过了 int 到 1 的范围。 以下语句均返回以下错误消息:
不接受日期参数递增到其数据类型范围之外的值。 在以下语句中,与 date 值相加的 number 值超出了 date 数据类型的范围 。 返回以下错误消息:
smalldatetime 值的秒数部分始终为 00。 以下原则适用于 smalldatetime date 值:
对于日期部分,以及介于 -30 和 +29 之间的数字值,不进行更改。
对于日期部分,以及小于 -30 或大于 +29 的数字值,从一分钟开始执行其加法。
对于日期部分和介于 -30001 和 +29998 之间的数字值,不进行更改。
对于日期部分和小于 -30001 或大于 +29998 的数字值,从一分钟开始执行其添加。
在以下子句中使用 :
不允许添加日期部分或日期数据类型 smalldatetime、date 和 datetime。
毫秒的刻度为 3(),微秒的刻度为 6(),纳米秒的刻度为 9()。 时间、datetime2 和 datetimeoffset 数据类型的最大刻度为 7 ()。 对于日期部分,数字必须为 100,才能在日期增加的小数秒之前。 介于 1 和 49 之间的数字 向下舍入到 0,数字从 50 到 99 舍入到 100。
这些语句添加日期部分,或。
结果集如下。
不允许添加时区偏移量。
以下每条语句以 1 为增量递增 datepart :
结果集如下。
以下每个语句按足够大的 number 逐量增加 datepart,该 number 还应足以增加 date 的下一个更高的 datepart :
以下示例使用不同类型的表达式作为 number 和 date 形参的实参 。 示例使用 AdventureWorks 数据库。
将一列指定为 date
此示例将 天加到 列中的每个值,以便派生名为 的新列:
下面是部分结果集:
将用户定义的变量指定为 number 和 date
此示例将用户定义的变量指定为 number 和 date 的参数 :
结果集如下。
将标量系统函数指定为 date
此示例指定 为 date 。 返回的确切值取决于语句执行的日期和时间:
结果集如下。
将标量子查询和标量函数指定为 number 和 date
此示例使用标量子查询 作为 number 和 date 的参数 。 充当 number 形参的假实参,用来说明如何从值列表中选择 number 实参 。
将数值表达式和标量系统函数指定为 number 和 date
此示例使用数值表达式()、一元运算符()、算术运算符()和标量系统函数()作为数字和日期的参数。
将排名函数指定为 number
此示例使用排名函数作为 number 的参数 。
将聚合开窗函数指定为 number
此示例使用聚合开窗函数作为 number 的参数 。
- CAST 和 CONVERT (Transact-SQL)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/73959.html