DB2字符串类型转DATE

如果是直接使用TO_DATE的话,那么转换后的结果是TIMESTAMPA类型而不是DATE类型

如果要转成DATE类型的话,那么可以首先使用TIMESTAMP类型,然后取DATE

SELECT DATE(TO_DATE('20221012','YYYY-MM-DD') FROM DUAL;

这样得到的结果就是’2022-10-12’

如果我们希望传进入8为的日期字符串,得到10位的日期字符串的话,那么可以采用拼接的方式进行

SELECT SUBSTR('YYYYMMDD', 1, 4) || '-' || SUBSTR('YYYYMMDD', 5, 2) || '-' || SUBSTR('YYYYMMDD', 7, 2) AS CONVERTED_DATE
FROM SYSIBM.SYSDUMMY1;

对于字符串格式的转换
如果是下述这种方式是不可以执行的:

TO_CHAR('20230509;,'YYYY-MM-DD'

如果是这样的转换则是可以执行的

TO_CHAR('2023-05-09;,'YYYYMMDD'

所以如果希望达到第一种转换的效果,还是采取先前提到的拼接的方式。

你可能感兴趣的:(数据库,db)