Maison  >  Article  >  base de données  >  requête de format d'heure Oracle

requête de format d'heure Oracle

王林
王林original
2023-05-17 22:13:364028parcourir

Oracle est un système de gestion de bases de données relationnelles populaire qui est largement utilisé dans diverses applications d'entreprise. Dans Oracle, la date et l'heure sont des types de données très importants car la mise en œuvre de nombreuses fonctions métier en dépend. Oracle prend en charge plusieurs formats de date et d'heure. Cet article explique comment interroger et utiliser les formats de date et d'heure dans Oracle.

1. Types de données de date et d'heure Oracle

Oracle prend en charge 4 types de données de date et d'heure, à savoir DATE, TIMESTAMP, TIMESTAMP AVEC FUSEAU HORAIRE et TIMESTAMP AVEC FUSEAU HORAIRE LOCAL.

  1. DATE : type de données de date et d'heure le plus couramment utilisé, il peut stocker la date et l'heure, y compris l'année, le mois, le jour, l'heure, les minutes et les secondes, et prend en charge les opérations, les comparaisons et le formatage.
  2. TIMESTAMP : un type de données de date et d'heure plus précis que DATE, prenant en charge une précision à la nanoseconde.
  3. TIMESTAMP AVEC FUSEAU HORAIRE : les informations sur le fuseau horaire sont ajoutées en fonction de TIMESTAMP.
  4. TIMESTAMP AVEC FUSEAU HORAIRE LOCAL : similaire à TIMESTAMP AVEC FUSEAU HORAIRE, mais il convertit l'heure en heure locale dans le fuseau horaire de la base de données.

2. Requête de format de date et d'heure Oracle

Lors de l'interrogation de données de date et d'heure, nous devons utiliser la fonction TO_CHAR pour convertir la date et l'heure dans un format spécifique. Voici quelques formats de date et d'heure Oracle couramment utilisés :

Formats de date :

  • YYYY : Année, quatre chiffres (par exemple : 2021)
  • YY : Année, deux chiffres (par exemple : 21)
  • MM : Mois, représenté par des chiffres (par exemple : 09)
  • MON : mois, représenté par une abréviation (par exemple : SEP)
  • MONTH : mois, représenté par un nom complet (par exemple : SEPTEMBRE)
  • DD : jour, représenté par chiffres (par exemple : 08)
  • DY Ou DAY : jour de la semaine, nom abrégé ou complet (par exemple : LUN ou LUNDI)

Format de l'heure :

  • HH24 : heure, format 24 heures, représentation numérique
  • MI : minute, représentation numérique
  • SS : seconde, représentation numérique

Exemple :

  1. Requête de la date et de l'heure actuelles : SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
  2. Interrogez la date actuelle : SELECT TO_CHAR(SYSDATE,'YYYY- MM-DD') FROM DUAL;
  3. Interrogez l'heure actuelle : SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
  4. Interrogez la date d'il y a une semaine : SELECT TO_CHAR(SYSDATE-7,'YYYY-MM-DD') FROM DUAL ;
  5. Interrogez le mois en cours : SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL ;
  6. Interrogez le trimestre en cours : SELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'Q'),2),'Q' ) FROM DUAL;
  7. Requête de l'année en cours : SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
  8. Requête de la date de demain : SELECT TO_CHAR(SYSDATE+1,'YYYY-MM-DD') FROM DUAL;
  9. Requête La date du premier jour de ce mois : SELECT TO_CHAR(TRUNC(SYSDATE,'MONTH'),'YYYY-MM-DD' ) FROM DUAL;
  10. Requête de la date du dernier jour du mois précédent : SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)),'YYYY-MM-DD') FROM DUAL;

3. fonctions de date et d'heure

En plus de la fonction TO_CHAR, Oracle fournit également de nombreuses fonctions de date et d'heure qui peuvent être utilisées pour interroger et traiter les données de date et d'heure.

  1. ADD_MONTHS(date,n) : Ajouter n mois à la date n peut être un nombre négatif pour soustraire n mois.
  2. MONTHS_BETWEEN(date1,date2) : calculez le nombre de mois de différence entre la date1 et la date2.
  3. TRUNC(date, format) : tronque la date selon le format spécifié, souvent utilisé pour calculer des intervalles de dates et des comparaisons.
  4. LAST_DAY(date) : Renvoie le dernier jour du mois dans lequel se trouve la date.
  5. EXTRACT(unit FROM date) : Extrayez l'unité de temps spécifiée (année, mois, jour, heure, minute, seconde, jour de la semaine, etc.) de la date.

Exemple :

  1. Demandez combien de temps s'est écoulé depuis la date d'arrivée de l'employé : SELECT MONTHS_BETWEEN(SYSDATE,hire_date)/12 FROM employés WHERE employe_id=100 ;
  2. Interrogez les employés dont l'anniversaire tombe ce mois : SELECT * FROM employés WHERE EXTRACT(MONTH FROMbirth_date) = EXTRACT(MONTH FROM SYSDATE);
  3. Requête du nombre de jours restant avant le prochain anniversaire de l'employé : SELECT TRUNC(MONTHS_BETWEEN(TRUNC(SYSDATE,'YYYY'),TRUNC(birth_date,'YYYY' )) /12)365+TRUNC(MOD(MONTHS_BETWEEN(TRUNC(SYSDATE,'YYYY'),TRUNC(birth_date,'YYYY')),1)12.0/11*365) FROM employés WHERE employ_id=100;

Ce qui précède ne sont que quelques exemples couramment utilisés de requêtes et de fonctions de date et d'heure. En utilisation réelle, elles doivent être utilisées de manière flexible et combinées en fonction des besoins spécifiques.

Résumé :

La requête de format de date et d'heure Oracle fait partie intégrante du développement de bases de données. Un format de date et d'heure correct et des méthodes de calcul peuvent garantir l'exactitude et la stabilité des données commerciales. Cet article présente en détail les types de données, les formats de date et d'heure et les fonctions d'Oracle. J'espère qu'il sera utile pour les requêtes et le traitement de date et d'heure de chacun dans la pratique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn