pl sql datetime format
En savoir plus sur le format PL SQL Datetime et quelques fonctions utiles autour de la date, de l'horodatage et de l'intervalle:
dans le PL / SQL Déclencheurs dans Série PL SQL , nous avons découvert leurs types, leur utilisation et leurs avantages.
Dans cet article, nous explorerons la date et l'heure dans PL / SQL et certaines des fonctions sur les types de données Datetime, Timestamp et Interval. De plus, nous ferons quelques opérations de base sur Datetime et Interval.
Commençons par la discussion !!
Ce que vous apprendrez:
Format Datetime PL SQL
PL / SQL a un type de données date / heure qui nous permet de conserver et de calculer des dates, des intervalles et des heures. La variable de type date ou heure contient une valeur appelée DateTime. La variable qui conserve le type de données d'intervalle s'appelle l'intervalle. Chacun de ces types de données a des champs qui définissent la valeur.
Les types de données DateTime sont répertoriés ci-dessous:
- HORAIRE
- HORAIRE AVEC FUSEAU HORAIRE
- HORAIRE AVEC FUSEAU HORAIRE LOCAL
- DATE
Les types de données Intervalle sont répertoriés ci-dessous:
- INTERVALLE JOUR À DEUXIÈME
- INTERVALLE ANNÉE AU MOIS
DATE
Les dates-heures de longueur fixe sont stockées dans le type de données DATE. Il comprend l'heure de la journée à partir de minuit en secondes. La section date pointe vers le premier jour du mois en cours et la section heure pointe vers minuit. Il contient des informations de date et d'heure dans les types de données numériques et caractères.
SYSDATE est une fonction de date qui récupère l'heure et la date actuelles. La plage de dates appropriée va du 1er janvier 4712 avant JC au 31 décembre 9999 après JC. Les valeurs de caractères au format par défaut (déterminé par le paramètre d'initialisation Oracle NLS_DATE_FORMAT) sont converties naturellement par PL / SQL en valeurs DATE.
Nous pouvons appliquer des opérations mathématiques comme l'addition et la soustraction sur les dates. PL / SQL interprète les littéraux entiers sous forme de jours. Par exemple, SYSDATE + 1 pointe vers demain.
HORAIRE
Le type de données horodatage est une extension du type de données DATE. Il est utilisé pour contenir l'année, le mois, l'heure et la seconde. Le format d'horodatage par défaut est déterminé par le paramètre d'initialisation Oracle NLS_TIMESTAMP_FORMAT.
Syntaxe:
TIMESTAMP((precision))
Ici, la précision n'est pas un paramètre obligatoire et pointe vers le décompte du nombre de chiffres qui se trouve dans la partie fractionnaire du champ des secondes. La précision doit être n'importe quel littéral entier compris entre 0 et 9. La valeur par défaut est définie sur 6.
HORAIRE AVEC FUSEAU HORAIRE
Ce type de données est une extension du type de données TIMESTAMP et contient un déplacement de fuseau horaire. Le décalage de fuseau horaire est le décalage horaire (en heures et minutes) entre l'heure locale et le temps universel coordonné (UTC).
L'horodatage par défaut avec le format de fuseau horaire est déterminé par le paramètre d'initialisation Oracle NLS_TIMESTAMP_TZ_FORMAT. Syntaxe:
TIMESTAMP((precision)) WITH TIME ZONE
Ici, la précision n'est pas un paramètre obligatoire et pointe vers le décompte du nombre de chiffres qui se trouve dans la partie fractionnaire du champ des secondes. La précision doit être n'importe quel littéral entier compris entre 0 et 9. La valeur par défaut est définie sur 6.
qa manager entretien questions réponses pdf
On peut citer le fuseau horaire avec des symboles. Il peut être de forme longue comme 'US / Pacific' ou en bref comme 'PDT' ou une combinaison des deux. Ainsi, ce type de données est utilisé pour couvrir et calculer des informations à travers des emplacements géographiques.
HORAIRE AVEC FUSEAU HORAIRE LOCAL
L'horodatage avec le type de données de fuseau horaire local est une extension du type de données TIMESTAMP et contient le déplacement de fuseau horaire. Le décalage de fuseau horaire est le décalage horaire (en heures et minutes) entre l'heure locale et le temps universel coordonné (UTC).
Syntaxe:
TIMESTAMP ((precision)) WITH LOCAL TIME ZONE
Ici, la précision n’est pas un paramètre obligatoire et pointe vers le décompte du nombre de chiffres qui se trouve dans la partie fractionnaire du champ du second. La précision doit être n'importe quel littéral entier compris entre 0 et 9. La valeur par défaut est définie sur 6.
TIMESTAMP WITH LOCAL TIME ZONE est différent de TIMESTAMP WITH TIME ZONE en raison du fait que, même si nous insérons une valeur dans la base de données, la valeur est définie sur le fuseau horaire de la base de données et le déplacement de fuseau horaire n'est pas conservé dans la colonne de la base de données. Cependant, lors de la récupération de la valeur, elle est renvoyée dans la session de fuseau horaire local.
INTERVALLE ANNÉE AU MOIS
Ce type de données est utilisé pour stocker et calculer l'intervalle des années et des mois.
Syntaxe:
INTERVAL YEAR ((precision)) TO MONTH
Ici, la précision est le décompte du nombre de chiffres dans le champ d’une année. La précision doit être n'importe quel littéral entier compris entre 0 et 4. La valeur par défaut est définie sur 2.
INTERVALLE DE L'ANNÉE À LA SECONDE
L'intervalle année au deuxième type de données est utilisé pour stocker et calculer des intervalles de jours, heures, minutes et secondes.
Syntaxe:
INTERVAL DAY ((l_precision)) TO SECOND ((fractional_s_precision))
Ici le l_précision et fractional_s_precision sont le nombre de chiffres dans le champ des jours et des secondes, respectivement.
La précision doit être n'importe quel littéral entier compris entre 0 et 9. Les valeurs par défaut sont respectivement définies sur 2 et 6.
Valeurs de champ: date / heure et intervalle
- DEUXIÈME: Les valeurs pour la plage DateTime valide sont comprises entre 00 et 59,9 (m), où m désigne les fractions de temps en secondes. Les valeurs de la plage d'intervalle valide vont de 00 à 59,9 (m) où m désigne l'intervalle de fraction de seconde.
- MINUTE: Les valeurs de la plage DateTime valide sont comprises entre 00 et 59. Les valeurs de la plage d'intervalle valide sont comprises entre 0 et 59.
- HEURE: Les valeurs de la plage DateTime valide sont comprises entre 00 et 23. Les valeurs de la plage d'intervalle valide sont comprises entre 0 et 23.
- JOURNÉE: Les valeurs de la plage DateTime valide sont comprises entre 01 et 31 (limité par les valeurs de YEAR et MONTH, conformément aux règles du calendrier des paramètres régionaux). La valeur d'une plage d'intervalles valide est tout entier différent de zéro.
- MOIS: Les valeurs de la plage DateTime valide vont de 01 à 12. Les valeurs de la plage d'intervalle valide sont comprises entre 0 et 11.
- AN: Les valeurs de la plage DateTime valide sont comprises entre -4712 et 9999, sans compter l'année 0. La valeur de la plage d'intervalles valide est tout entier différent de zéro.
- TIMEZONE_HOUR: Les valeurs pour la plage DateTime valide sont comprises entre -12 et 14, elles incluent les changements d'heure d'été. Cela ne s'applique pas à la plage d'intervalle valide.
- TIMEZONE_MINUTE: Les valeurs de la plage DateTime valide sont comprises entre 00 et 59. Cela ne s'applique pas à la plage d'intervalle valide.
- TIMEZONE_REGION: Les valeurs de la plage DateTime valide ne sont pas applicables pour DATE ou TIMESTAMP. Cela ne s'applique pas à une plage d'intervalle valide.
- TIMEZONE_ABBR: Les valeurs de la plage DateTime valide ne sont pas applicables pour DATE ou TIMESTAMP. Cela ne s'applique pas à la plage d'intervalle valide.
Fonctions PL SQL dans Datetime
Ici, m et n contiennent les valeurs de la date / heure.
Sl No. | Nom | Finalités |
---|---|---|
sept | SYSDATE () | Récupère la date / heure actuelle. |
un | LAST_DAY (m) | Récupère le dernier jour du mois. |
deux | ADD_MONTHS (m, n) | Résume m et n mois. |
3 | MONTHS_BETWEEN (m, n) | Récupère le nombre de mois entre m et n. |
4 | NEXT_DAY (m, jour) | Récupère la date et l'heure du jour suivant après m. |
5 | LA PROCHAINE FOIS | Récupère l'heure / le jour du fuseau horaire demandé par l'utilisateur. |
6 | ROUND (m (, unité)) | Arrondis m. |
8 | TRONQUE (m (, unité)) | Tronque m. |
Fonctions PL SQL dans l'horodatage
Ici, m contient la valeur de l'horodatage.
Sl No. | Nom | Finalités |
---|---|---|
sept | TO_TIMESTAMP_TZ (m, (format)) | Convertit la chaîne m en un TIMESTAMP WITH TIMEZONE. |
un | CURRENT_TIMESTAMP () | Récupère un HORLOGE AVEC FUSEAU HORAIRE ayant la session actuelle et le fuseau horaire de la session. |
deux | FROM_TZ (m, time_zone) | Convertit le m TIMESTAMP et mentionne time_zone en TIMESTAMP WITH TIMEZONE. |
3 | LOCALTIMESTAMP () | Récupère un TIMESTAMP ayant l'heure locale dans le fuseau horaire de la session. |
4 | SYSTEMTIMESTAMP () | Récupère un TIMESTAMP WITH TIMEZONE ayant l'heure actuelle de la base de données et le fuseau horaire de la base de données. |
5 | SYS_EXTRACT_UTC (m) | Convertit le m TIMESTAMP WITH TIMEZONE en TIMESTAMP ayant la date et l'heure UTC. |
6 | TO_TIMESTAMP (m, (format)) | Convertit la chaîne m en TIMESTAMP. |
Implémentation de code avec les fonctions Datetime et Timestamp:
BEGIN /* get the current date and time */ DBMS_OUTPUT.put_line ('The output of SYSDATE is:'|| SYSDATE); /* get the TIMESTAMP WITH TIME ZONE with database time and time zone */ DBMS_OUTPUT.put_line ('The output of SYSTIMESTAMP is:' ||SYSTIMESTAMP); /* get the TIMESTAMP with local time in session time zone */ DBMS_OUTPUT.put_line ('The output of LOCALTIMESTAMP:' ||LOCALTIMESTAMP); /*get the TIMESTAMP WITH TIME ZONE with present session time with session time zone */ DBMS_OUTPUT.put_line ('The output of CURRENT_TIMESTAMP:'||CURRENT_TIMESTAMP); /*convert string to TIMESTAMP*/ DBMS_OUTPUT.put_line ('The output of TIMESTAMP:'||TO_TIMESTAMP('12-JAN-2011')); /*to add months*/ DBMS_OUTPUT.put_line ('The output of ADD_MONTHS:'||ADD_MONTHS(SYSDATE,1)); /*to get date and time of following day*/ DBMS_OUTPUT.put_line ('The output of NEXT_DAY:'||NEXT_DAY(SYSDATE,'MONDAY')); /*to truncate date */ DBMS_OUTPUT.put_line ('The output of TRUNC:'||TRUNC(SYSDATE)); /*to get the last day of month */ DBMS_OUTPUT.put_line ('The output of LAST_DAY:'||LAST_DAY (SYSDATE)); END; /
Sortie du code ci-dessus:
Fonctions PL SQL par intervalle
Sl No. | Nom | Finalités |
---|---|---|
un | NUMTODSINTERVAL (m, intervalle) | Transforme le nombre m en INTERVALLE DAY TO SECOND. |
deux | NUMTOYMINTERVAL (m, intervalle) | Transforme le nombre m en INTERVALLE DE L'ANNÉE AU MOIS. |
3 | TO_DSINTERVAL (m) | Transforme la chaîne m en INTERVAL DAY TO SECOND. |
4 | TO_YMINTERVAL (m) | Transforme la chaîne m en INTERVAL YEAR TO MONTH. |
Opérations arithmétiques dans Datetime et intervalle
PL / SQL vous permet de créer des expressions DateHeure et intervalle.
La liste des opérateurs qui peuvent être appliqués est:
- Si le premier opérande est DateTime et le deuxième opérande est un intervalle et que nous voulons leur appliquer l'opérateur (+), la valeur de résultat est de type DateTime.
- Si le premier opérande est DateTime et le deuxième opérande est un intervalle et que nous voulons leur appliquer l'opérateur (-), la valeur de résultat est de type DateTime.
- Si le premier opérande est intervalle et le deuxième opérande est DateTime et que nous voulons leur appliquer l'opérateur (+), la valeur de résultat est de type DateTime.
- Si le premier opérande est DateTime et le deuxième opérande est DateTime, et que nous voulons leur appliquer l'opérateur (-), la valeur de résultat est de type intervalle.
- Si le premier opérande est intervalle et le deuxième opérande est un intervalle et que nous voulons leur appliquer l'opérateur (+), la valeur de résultat est de type intervalle.
- Si le premier opérande est intervalle et le second opérande est un intervalle et que nous voulons leur appliquer l'opérateur (-), la valeur de résultat est de type intervalle.
- Si le premier opérande est intervalle et le second opérande est numérique et que nous voulons leur appliquer l'opérateur (*), la valeur du résultat est de type intervalle.
- Si le premier opérande est numérique et le deuxième opérande est un intervalle et que nous voulons leur appliquer l'opérateur (*), la valeur de résultat est de type intervalle.
- Si le premier opérande est intervalle et le deuxième opérande est numérique et que nous voulons leur appliquer l'opérateur (/), la valeur de résultat est de type intervalle.
Implémentation de code avec certaines opérations arithmétiques dans Datetime et Interval.
DECLARE c_dt TIMESTAMP; r_dt TIMESTAMP; s_dt TIMESTAMP; BEGIN c_dt := SYSTIMESTAMP; r_dt:= c_dt + TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Addition of datetime and Interval:' ||r_dt); s_dt:= c_dt - TO_DSINTERVAL ('1600 5:20:1'); DBMS_OUTPUT.PUT_LINE ('Subtraction of datetime and Interval:' || s_dt); END;
La sortie du code ci-dessus:
Explication du code ci-dessus:
- Dans le code, («1600 5: 20: 1») signifie 1600 jours, 5 heures, 20 minutes et 1 seconde .
- Dans la première sortie, le premier opérande est DateTime et le deuxième opérande est un intervalle. En les ajoutant, nous avons obtenu une date au 24 décembre avec l'heure du matin.
- Dans la deuxième sortie, le premier opérande est DateTime et le deuxième opérande est un intervalle. En soustrayant le premier du second, nous avons obtenu une date 20-MAR avec l'heure en PM.
Foire aux questions et réponses
Q # 1) Quel est l'horodatage actuel?
Répondre: L'horodatage actuel ou CURRENT_TIMESTAMP décrit un horodatage qui dépend de la lecture de l'heure de l'horloge du jour lors de l'exécution d'une instruction SQL sur le serveur.
Q # 2) Que renvoie Sysdate dans Oracle?
Répondre: La fonction Sysdate () récupère la date et l'heure actuelles configurées dans le système d'exploitation où se trouve la base de données. Le type de données de valeur renvoyé par celui-ci est DATE.
comment implémenter un arbre de recherche binaire en java
Q # 3) Quelle fonction PL / SQL donnera la date et l'heure du système actuel?
Répondre: La fonction PL / SQL qui donne la date et l'heure actuelles du système est SYSDATE ().
Q # 4) Qu'est-ce que DUAL SQL?
Répondre: DUAL est une table de base de données créée par défaut par Oracle avec un dictionnaire de données. Il contient une ligne et une colonne. DUAL appartient à SYS mais peut être utilisé par tous les utilisateurs.
Q # 5) Comment déclarez-vous une variable de date dans PL SQL?
Répondre: Nous pouvons déclarer une variable de date en PL / SQL avec la syntaxe donnée ci-dessous:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');
Q # 6) Quel est le format de date dans Oracle?
Répondre: Le format de date standard dans Oracle pour l’entrée et la sortie est «JJ / MON / AA». Ceci est configuré par la valeur du paramètre NLS_DATE_FORMAT.
Conclusion
Dans ce didacticiel PL SQL Datetime Format, nous avons discuté en détail de certains concepts de base de la date et de l'heure PL / SQL qui sont essentiels pour les utiliser dans la programmation.
Nous avons couvert les sujets suivants énumérés ci-dessous:
- Date et l'heure.
- Fonctions autour de la date, de l'horodatage et de l'intervalle.
- Opérations arithmétiques sur Datetime et Interval.
- Valeurs des champs dans Datetime et Interval.
lecture recommandée
- Fonctions de date et d'heure en C ++ avec des exemples
- Tutoriel Python DateTime avec des exemples
- Tutoriel C # DateTime: Utilisation de la date et de l'heure en C # avec l'exemple
- Sous-programmes: procédures et fonctions PL SQL avec exemples
- Fonctions de date VBScript: fonctions de format de date, d'ajout de date et de cDate
- Tutoriel PL SQL pour les débutants avec des exemples | Qu'est-ce que PL / SQL