Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment obtenir la date actuelle dans Oracle

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.