DB2 SQL中如何将TIMESTAMP格式转换为年-月-日-小时格式
DB2 TIMESTAMP 转年-月-日-小时格式实现方案
有两种常用的稳定实现方式,可根据你的DB2版本选择:
方式1:使用VARCHAR_FORMAT格式化函数(推荐)
这是DB2官方提供的专门用于时间类型格式化的函数,兼容性高、写法简洁:
-- 替换your_timestamp_col为你的TIMESTAMP字段名,your_table为表名 SELECT VARCHAR_FORMAT(your_timestamp_col, 'YYYY-MM-DD-HH24') AS formatted_dt FROM your_table;
说明:
- 格式符
HH24代表24小时制的小时数值,如果你需要12小时制可以替换为HH - 输出结果为字符串类型,直接匹配你需要的
2018-03-26-08格式
方式2:字符串截取(适配低版本DB2)
如果你的DB2版本较旧不支持VARCHAR_FORMAT,可以用类型转换+字符串截取实现:
SELECT SUBSTR(CHAR(your_timestamp_col), 1, 13) AS formatted_dt FROM your_table;
说明:
- DB2中
CHAR()转换TIMESTAMP类型时,默认输出格式为YYYY-MM-DD-HH.MI.SS.FFFFFF,前13位正好对应年-月-日-小时的部分 - 此方式无需额外函数支持,适配所有DB2版本
验证说明:两种方式对输入值
2018-03-26-08.30.00.000000的输出结果均为2018-03-26-08,完全符合需求。
内容的提问来源于stack exchange,提问作者Tick _Tack
相关产品推荐
相关产品推荐

