适用于: 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)
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/26926.html