第139章 SQL函数 TIMESTAMPDIFF
文章目录
- 第139章 SQL函数 TIMESTAMPDIFF
- 大纲
- 参数
- 描述
- %TimeStamp 格式化
- 范围和值检查
- 示例
第139章 SQL函数 TIMESTAMPDIFF
一个标量日期/时间函数,它返回指定日期部分的两个时间戳之间差异的整数计数。
大纲
{fn TIMESTAMPDIFF(interval-type,startdate,enddate)}
参数
interval-type
- 返回值将表示的时间/日期间隔类型。startdate
- 时间戳值表达式。enddate
- 将与startdate
进行比较的时间戳值表达式。
描述
TIMESTAMPDIFF
函数返回指定日期部分间隔(秒、天、周等)的两个给定时间戳之间的差异(即,从另一个中减去一个时间戳)。返回的值是一个 INTEGER
,即两个时间戳之间的这些间隔数。 (如果 enddate
早于 startdate
,则 TIMESTAMPDIFF
返回负 INTEGER
值。)
开始日期和结束日期是时间戳。这些时间戳可以是 %Library.TimeStamp
数据类型格式 (yyyy-mm-dd hh:mm:ss.ffff
) 或 %Library.PosixTime
数据类型格式(编码的 64
位有符号整数)。
间隔类型参数可以是以下时间戳间隔之一:
SQL_TSI_FRAC_SECOND
SQL_TSI_SECOND
SQL_TSI_MINUTE
SQL_TSI_HOUR
SQL_TSI_DAY
SQL_TSI_WEEK
SQL_TSI_MONTH
SQL_TSI_YEAR
这些时间戳间隔可以使用单引号或双引号来指定,带或不带引号。它们不区分大小写。
TIMESTAMPDIFF
和 DATEDIFF
不处理季度quarters
(3 个月间隔)。
请注意,TIMESTAMPDIFF
只能用作 ODBC 标量函数(使用大括号语法)。可以使用 DATEDIFF
通用函数对时间戳执行类似的时间/日期比较操作。
%TimeStamp 格式化
如果 startdate
或 enddate
参数采用 %Library.TimeStamp
数据类型格式 (yyyy-mm-dd hh:mm:ss.ffff
),则适用以下规则:
- 如果任一时间戳表达式仅指定时间值并且间隔类型指定日期间隔(天、周、月或年),则在计算结果间隔计数之前,时间戳的缺失日期部分默认为
“1900–01–01”
. - 如果任一时间戳表达式仅指定日期值并且间隔类型指定时间间隔(小时、分钟、秒、小数秒),则在计算结果间隔计数之前,时间戳的缺失时间部分默认为
“00:00:00.000”
. - 可以包含或省略任意位数精度的小数秒。
SQL_TSI_FRAC_SECOND
以千分之一秒的整数计数形式返回小数秒的差异(精度为三位数)。%PosixTime
值始终包含六位精度。
范围和值检查
TIMESTAMPDIFF
对输入值执行以下检查。
startdate
和enddate
的所有指定部分必须有效,然后才能执行任何TIMESTAMPDIFF
操作。- 日期字符串必须完整且格式正确,其中包含适当数量的元素和每个元素的数字,以及适当的分隔符。年份必须指定为四位数。无效的日期值会导致
SQLCODE -8
错误。 - 日期值必须在有效范围内。年:0001 到 9999。月:1 到 12。日:1 到 31。小时:00 到 23。分:0 到 59。秒:0 到 59。一个月中的天数必须与月和年相匹配。例如,日期
“02–29”
仅在指定年份是闰年时有效。无效的日期值会导致SQLCODE -8
错误。 - 小于 10(月和日)的日期值可能包括或省略前导零。不允许使用其他非规范整数值。因此,
Day
值“07”
或“7”
有效,但“007”
、“7.0”
或“7a”
无效。 - 时间值可以全部或部分省略。如果
startdate
或enddate
指定了不完整的时间,则为未指定的部分提供零。 - 小于 10 的小时值必须包含前导零。省略此前导零会导致
SQLCODE -8
错误。
示例
以下示例返回 7
,因为第二个时间戳 (2017-12-20 12:00:00
) 比第一个大 7
个月:
SELECT {fn TIMESTAMPDIFF(SQL_TSI_MONTH,'2017-5-19 00:00:00','2017-12-20 12:00:00')}7
以下示例返回 566
,因为第二个时间戳 ('12:00:00'
)) 比第一个时间戳 (02:34:12
) 大 566
分钟:
SELECT {fn TIMESTAMPDIFF(SQL_TSI_MINUTE,'02:34:12','12:00:00')}566
以下示例返回 -1440,因为第二个时间戳比第一个小一天(1440 分钟):
SELECT {fn TIMESTAMPDIFF(SQL_TSI_MINUTE,'2017-12-06','2017-12-05')}-1440
第139章 SQL函数 TIMESTAMPDIFF相关推荐
- 第四十三章 SQL函数 DATEDIFF
文章目录 第四十三章 SQL函数 DATEDIFF 大纲 参数 描述 Datepart 参数 日期表达式格式 Years 分数秒 时间差异与时间格式无关 范围和值检查 错误处理 示例 第四十三章 SQ ...
- 第四十六章 SQL函数 DAY
文章目录 第四十六章 SQL函数 DAY 大纲 参数 描述 第四十六章 SQL函数 DAY 返回日期表达式的月份日期的日期函数. 大纲 DAY(date-expression){fn DAY(date ...
- 第153章 SQL函数 UCASE
文章目录 第153章 SQL函数 UCASE 大纲 参数 描述 示例 第153章 SQL函数 UCASE 将字符串中的所有小写字母转换为大写字母的大小写转换函数. 大纲 UCASE(string-ex ...
- 第二十四章 SQL函数 CEILING
文章目录 第二十四章 SQL函数 CEILING 大纲 参数 描述 示例 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数. 大纲 CEILING(numeri ...
- 第九十五章 SQL函数 MINUTE
文章目录 第九十五章 SQL函数 MINUTE 大纲 参数 描述 示例 第九十五章 SQL函数 MINUTE 返回日期时间表达式的分钟的时间函数. 大纲 {fn MINUTE(time-express ...
- 第130章 SQL函数 SQRT
文章目录 第130章 SQL函数 SQRT 大纲 参数 描述 示例 第130章 SQL函数 SQRT 返回给定数值表达式的平方根的数值函数. 大纲 SQRT(numeric-expression){f ...
- 第二十三章 SQL函数 CAST(二)
文章目录 第二十三章 SQL函数 CAST(二) 转换位值 示例 第二十三章 SQL函数 CAST(二) 转换位值 可以将expr值转换为BIT以返回0或1. 如果expr为1或任何其他非零数值,则返 ...
- 第九十四章 SQL函数 %MINUS
文章目录 第九十四章 SQL函数 %MINUS 大纲 参数 描述 示例 第九十四章 SQL函数 %MINUS 将数字转换为规范整理格式,然后反转符号的整理函数. 大纲 %MINUS(expressio ...
- 第105章 SQL函数 %OID
文章目录 第105章 SQL函数 %OID 大纲 参数 描述 示例 第105章 SQL函数 %OID 返回 ID 字段的 OID 的标量函数. 大纲 %OID(id_field) 参数 id_fiel ...
最新文章
- mysql查询并设置高亮_Thinkphp3.2.3设置MySql主从读写分离后,简单调用主数据库查询
- boost::signals2::deconstruct相关的测试程序
- Wondows环境下配置Tomat
- DW06、DW07 锂电保护IC手册电路,锂电池过充过放过流短路保护芯片电路
- JavaScript 基础--- (正则表达式 / 事件监听与绑定)
- s7五杀大数据英雄_大数据公布新赛季拿五杀最多的英雄,韩信垫底,她却拿到手抽筋!...
- python str 索引_一步一步学Python3(小学生也适用) 第九篇: 字符串(str)类型(中)...
- ios苹果应用ipa一键签名工具_ios签名何以做到不越狱不上架也能安装ipa文件?
- vscode超好玩好用的插件
- 广发银行薪资待遇JAVA_广发银行薪资待遇如何?
- 操作系统系列(三)——编译和链接
- 中国计算机学会(CCF)推荐中文科技期刊目录(2020年发布,官网转载)
- linux加载和卸载驱动模块出现 'XXX': device or resource busy 错误提示
- python 二进制与十进制之间的转换
- ABAP CDS VIEW WITH ASSOCIATION示例
- 乐播:手机投屏和镜像有什么区别?
- skywalking服务端_skywalking-01-搭建skywalking服务端
- 图片不大于100kb怎么调?怎么自定义压缩图片大小?
- 测试中case是什么
- 已下载TensorFlow却为什么无法调用?
热门文章
- 华为手机备忘录的妙用——8个小技巧总结
- vue基于element时间日期组件上传多个时间转字符串(限制今天以前不能选)
- 用Django创建一个简单网页
- 小程序直播页面遮罩及按钮设置
- Spring第24篇:父子容器详解
- 工作流流程编辑器的几种解决方案
- php7 setcookie无效_PHP setcookie()之前不能有任何输出
- 现代大学英语精读第二版(第二册)学习笔记(原文及全文翻译)——1A - Another School Year—What For?(又一学年——为了什么?)
- 撤销对计算机所有的更改 不断重启,win10更新失败撤销更改怎么办
- 新型冠状病毒席卷全国 Filecoin如何在突发卫生事件中赋能抗疫