2 votes

Conversion du format de date(0) dans Oracle

J'essaie de convertir le format de date stocké dans ma table avec un format spécifié, mais il ne le convertit pas dans le format souhaité.

J'ai un tableau contenant des données au format 15-Jan-2016 00:21:06 CEST et 6/19/2019 3:07:01 AM et je dois convertir la date en DD-MON-YY hh24:mi:ss am.

J'utilise la requête ci-dessous pour formater les données.

select to_char(to_date(substr(mod,1,20),'DD-MON-YY hh24:mi:ss'),'MM-DD-YYYY HH:MI:SS AM') datetime from test where mod like '%CEST'
union all
select to_char(to_date(mod,'MM-DD-YY hh:mi:ss am'),'MM-DD-YYYY HH:MI:SS AM') datetime from test where mod  not like '%CEST';

Il donne des résultats corrects 0 1-15-2016 12:21:06 AM et 0 6-19-2019 03:07:01 AM. Mais je ne veux pas que le 0 précède le mois. Existe-t-il un format de date spécifique pour supprimer le 0 ?

4voto

Littlefoot Points 34537

Appliquer le fm modificateur de masque de format. Voir aussi res_2 :

SQL> select to_char(sysdate, 'mm-dd-yyyy') res_1,
  2         to_char(sysdate, 'fmm-dd-yyyy') res_2
  3  from dual;

RES_1      RES_2
---------- ----------
08-13-2019 8-13-2019

SQL>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X