Problème :
Vous souhaitez obtenir la date actuelle (sans l'heure) dans Oracle.
Solution 1 (si les zéros ne vous dérangent pas comme heure) :
SELECT TRUNC(CURRENT_DATE) AS current_date FROM dual;
Par exemple, si vous deviez exécuter cette requête le 16 juin 2021, le tableau de résultats ressemblerait à ceci :
date_actuelle |
---|
2021-06-16T00:00:00Z |
Discussion :
Oracle n'a pas de type de données qui stocke uniquement la date sans l'heure. Mais si les zéros à la place de l'heure ne vous dérangent pas, vous pouvez simplement stocker une date dans un DATE
type de données (qui stocke à la fois la date et l'heure dans Oracle). Pour obtenir la date et l'heure actuelles sous forme de DATE
valeur, vous pouvez simplement utiliser CURRENT_DATE
. Pour supprimer l'heure (et avoir des zéros à la place), vous devez tronquer la date :
SELECT TRUNC(CURRENT_DATE) AS current_date FROM dual;
Solution 2 (si vous voulez juste la date et non des zéros à la place de l'heure) :
SELECT TO_CHAR(CURRENT_DATE, 'yyyy-MM-dd') AS current_date FROM dual;
Par exemple, si vous deviez exécuter cette requête le 16 juin 2021, le tableau de résultats ressemblerait à ceci :
date_actuelle |
---|
2021-06-16 |
Discussion :
Pour obtenir un texte de VARCHAR2
type qui stocke une date, vous pouvez utiliser le TO_CHAR()
fonction dans Oracle. Vous devez spécifier l'horodatage à convertir comme premier argument, et dans le format dans lequel vous souhaitez stocker la date comme deuxième argument.
Puisque vous voulez la date actuelle, le premier argument est CURRENT_DATE
. Le deuxième argument est votre choix. Par exemple, 'yyyy-MM-dd'
signifie "année-mois-jour", où le mois est numérique plutôt que textuel. Le tableau ci-dessous présente quelques exemples de formats de date et la sortie respective pour la date du 16 juin 2021.
format de date | résultat |
---|---|
'AAAA-MM-JJ' | 2021-06-16 |
'AAAA/MM/JJ' | 2021/06/16 |
'AAAA MM JJ' | 2021 06 16 |
'JJ-MON-AAAA' | 16-JUN-2021 |
'JJ-MON-AA' | 16-JUN-21 |
'FMMois JJ, AAAA' | 16 juin 2021 |
Vous pouvez en savoir plus sur les formats de date ici.