如何在DB2数据库中获取ISO8601格式的当前日期
DB2获取ISO8601格式当前日期的实现方案
以下为不同场景下的可运行实现代码:
- 仅获取ISO8601标准日期(格式为
YYYY-MM-DD)
直接使用CHAR函数指定ISO格式即可:
输出示例:SELECT CHAR(CURRENT_DATE, ISO) FROM SYSIBM.SYSDUMMY1;2024-05-20 - 获取带时间的严格ISO8601格式(格式为
YYYY-MM-DDThh:mm:ss,中间含标准分隔符T)
使用VARCHAR_FORMAT自定义格式模板实现:
输出示例:SELECT VARCHAR_FORMAT(CURRENT_TIMESTAMP, 'YYYY-MM-DD"T"HH24:MI:SS') FROM SYSIBM.SYSDUMMY1;2024-05-20T14:30:22 - 获取带时区信息的完整ISO8601时间戳
配合带时区的当前时间戳函数实现:
输出示例:SELECT VARCHAR_FORMAT(CURRENT_TIMESTAMP WITH TIME ZONE, 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM') FROM SYSIBM.SYSDUMMY1;2024-05-20T14:30:22+08:00
注意:以上语法适配DB2 LUW 9.7及以上版本,若使用更低版本或者DB2 for i/DB2 z/OS环境,部分函数名存在差异,可以通过日期字段拆分拼接的方式实现同等效果。
内容的提问来源于stack exchange,提问作者Y M
相关产品推荐
相关产品推荐

