質問: DB2でYYYY-MM-DD HH:MM:SSの形式でSELECTを掛けたいです。 DB上で カラムA: 20200605 カラムB: 120000 のようにNUMBER型で定義されているため一度2つのカラムをCHAR型に変換し、CONCATでくっつけた後にTIME_STAMP_FORMATで'YYYY-MM-DD HH:24:MI:SS'の形式で日付型に変換しました。 するとなぜか結果が'2020-06-05-12.00.00.000000'と結果が返ってきました。 私の想定では'2020-06-05 12:00:00'となると思っていました。 試しに SELECT TIMESTAMP_FORMAT(CONCAT(CHAR(20200101),CHAR(000000)), 'YYYY-MM-DD HH:24:MI:SS') FROM TEST_TABLE; のようにしてテストしてみたところ同様に'2020-01-01-00.00.00.000000'という結果になりました。 これはTIMESTAMP_FORMATの仕様でしょうか? それならば私が求めている結果を得るにはどのようにすればよいでしょうか?
回答: Maybe this is what you need? ``` VALUES TIMESTAMP(TIMESTAMP_FORMAT(CONCAT(CHAR(20200101),DIGITS(DEC(CHAR(000000),6))), 'YYYYMMDDHH24MISS'),0) ``` returns ``` 2020-01-01 00:00:00 ``` or you could use e.g. ``` VALUES TIMESTAMP('2020-01-01'::DATE,0) ``` to get the same result