web-dev-qa-db-ja.com

DB2の日付形式

DB2で現在の日付をyyyymmddにフォーマットしたいだけです。

利用可能な日付形式が表示されていますが、どのように使用できますか?

http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2z10.doc.intro%2Fsrc%2Ftpc%2Fdb2z_datetimetimestamp.htm

SELECT CURDATE() FROM SYSIBM.SYSDUMMY1;

上記の形式を使用する簡単な方法は見当たりません。

なにか提案を?

14
zod
_SELECT VARCHAR_FORMAT(CURRENT TIMESTAMP, 'YYYYMMDD')
FROM SYSIBM.SYSDUMMY1
_

メインフレームとLinux/Unix/Windows DB2の両方で動作するはずです。 VARCHAR_FORMAT()の情報センターエントリ

31
bhamby

もう1つのソリューションREPLACE(CHAR(current date、ISO)、 '-'、 '')

4
Joshua Balan

これは簡単ではありませんが、

SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1

現在の日付をyyyy-mm-dd形式で返します。 yyyymmddを取得するには、結果を部分文字列化し、連結する必要があります。

SELECT SUBSTR(CHAR(CURRENT DATE, ISO), 1, 4) ||
    SUBSTR(CHAR(CURRENT DATE, ISO), 6, 2) ||
    SUBSTR(CHAR(CURRENT DATE, ISO), 9, 2)
FROM SYSIBM.SYSDUMMY1
2

現在の日付はyyyy-mm-dd フォーマット。 yyyymmdd関数を使用して、substring形式に変換できます。

select substr(current date,1,4)||substr(current date,6,2)||substr(currentdate,9,2)
1
albin