db2 timestampdiff(2012-10-1 13:07:11 2012-10-1 11:04:03 如何在SQL中计算DATE类型的格式,时间之前的差异)

本文目录
- 2012-10-1 13:07:11 2012-10-1 11:04:03 如何在SQL中计算DATE类型的格式,时间之前的差异
- 请教db2的timestampdiff函数计算天数差不对的问题
- db2 日期相减
- db2 怎么计算两个时间相差多少个月如2015-10-10 和2014-1-12
2012-10-1 13:07:11 2012-10-1 11:04:03 如何在SQL中计算DATE类型的格式,时间之前的差异
DB2
timestampdiff 为一个估计类型的计算。
timestampdiff (《n》, char(
timestamp(’2011-10-06-00.00.00’)-
timestamp(’2011-10-01-00.00.00’)))
对于 《n》,可以使用以下各值来替代,以指出结果的时间单位:
1 = 秒的小数部分
2 = 秒
4 = 分
8 = 时
16 = 天
32 = 周
64 = 月
128 = 季度
256 = 年
db2 =》 SELECT
db2 (cont.) =》 timestampdiff (
db2 (cont.) =》 16,
db2 (cont.) =》 char(
db2 (cont.) =》 CURRENT_TIMESTAMP -
db2 (cont.) =》 timestamp(’2011-10-01-00.00.00’)
db2 (cont.) =》 )
db2 (cont.) =》 )
db2 (cont.) =》 FROM SYSIBM.SYSDUMMY1;
1
-----------
5
1 条记录已选择。
如果需要精确计算到秒,可以使用
db2 =》 SELECT
db2 (cont.) =》 (DAYS(CURRENT_TIMESTAMP)
db2 (cont.) =》 - DAYS(timestamp(’2011-10-01-00.00.00’))) * 86400
db2 (cont.) =》 +
db2 (cont.) =》 (MIDNIGHT_SECONDS(CURRENT_TIMESTAMP)
db2 (cont.) =》 - MIDNIGHT_SECONDS(timestamp(’2011-10-01-00.00.00’)))
db2 (cont.) =》 FROM SYSIBM.SYSDUMMY1;
1
-----------
503163
1 条记录已选择。
注: 那个 sql 是以前执行的, 不是今天执行的。
请教db2的timestampdiff函数计算天数差不对的问题
1. 不够3天
values TIMESTAMPDIFF(16,CHAR(TIMESTAMP(’2001-09-29-11.25.42.483219’)-TIMESTAMP(’2001-09-26-12.07.58.065497’)))
1
-----------
2
1 record(s) selected.
2. 够3天
values TIMESTAMPDIFF(16,CHAR(TIMESTAMP(’2001-09-29-12.07.58.483219’)-TIMESTAMP(’2001-09-26-12.07.58.065497’)))
1
-----------
3
1 record(s) selected.
db2 日期相减
你这个可能是 CASE WHEN 的问题
第一种情况下, 结果是 字符类型的 ‘已到期’
第二种情况下, 结果是 数字类型的
也就是你一个查询, 其中某一列的数据类型, 又是字符, 又是数字的。
导致查询出现错误了。
你尝试在后面那里 加一个 TO_CHAR() 看看
TO_CHAR(day (TIMESTAMP (s.created_date)) - day (current date), ’999’ )
db2 怎么计算两个时间相差多少个月如2015-10-10 和2014-1-12
SELECT
timestampdiff (256, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔年“,
timestampdiff (128, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔季度“,
timestampdiff (64, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔月“,
timestampdiff (32, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔周“,
timestampdiff (16, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔日“,
timestampdiff (8, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔时“,
timestampdiff (4, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔分“,
timestampdiff (2, char(timestamp(’2013-12-30 20:30:30’) - timestamp(’2001-09-26 15:24:23’))) AS “间隔秒“
FROM SYSIBM.SYSDUMMY1;

更多文章:
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






