web-dev-qa-db-fra.com

Format de date DB2

Je veux juste formater la date actuelle en yyyymmdd dans DB2.

Je vois les formats de date disponibles, mais comment les utiliser?

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;

Je ne vois aucun moyen simple d'utiliser les formats énumérés ci-dessus.

Toute suggestion?

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

Devrait fonctionner à la fois sur l'ordinateur central et Linux/Unix/Windows DB2. Entrée Info Center pour VARCHAR_FORMAT() .

31
bhamby

Une autre solution REMPLACER (CHAR (date actuelle, ISO), '-', '')

4
Joshua Balan

Ce n'est pas simple, mais

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

renvoie la date actuelle au format aaaa-mm-jj. Vous devrez sous-chaîne et concaténer le résultat pour obtenir aaaammjj.

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
Gilbert Le Blanc

La date actuelle est en yyyy-mm-dd format. Vous pouvez le convertir au format yyyymmdd en utilisant la fonction substring:

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