pl sql datetime format
Erfahren Sie mehr über das PL SQL-Datetime-Format und einige nützliche Funktionen rund um Datetime, Timestamp und Intervall:
In dem PL / SQL Löst aus im PL SQL-Serie , Wir haben ihre Art, Verwendung und Vorteile kennengelernt.
In diesem Artikel werden Datum und Uhrzeit in PL / SQL sowie einige der Funktionen für Datentypen Datetime, Timestamp und Interval erläutert. Außerdem werden wir einige grundlegende Operationen für Datetime und Intervall ausführen.
Beginnen wir mit der Diskussion !!
Was du lernen wirst:
PL SQL Datetime Format
PL / SQL verfügt über einen Datums- / Zeitdatentyp, mit dem wir Datums-, Intervall- und Uhrzeitangaben speichern und berechnen können. Die Variable vom Typ Datum oder Uhrzeit enthält einen Wert namens DateTime. Die Variable, die den Intervalldatentyp beibehält, wird als Intervall bezeichnet. Jeder dieser Datentypen verfügt über Felder, die den Wert festlegen.
Die DateTime-Datentypen sind unten aufgeführt:
- TIMESTAMP
- Zeitstempel mit Zeitzone
- Zeitstempel mit lokaler Zeitzone
- DATUM
Die Intervalldatentypen sind unten aufgeführt:
- Intervalltag bis zum zweiten
- INTERVALLJAHR BIS MONAT
DATUM
Die Datumsangaben fester Länge werden im Datentyp DATE gespeichert. Es umfasst die Tageszeit ab Mitternacht in Sekunden. Der Datumsabschnitt zeigt auf den ersten Tag des aktuellen Monats und der Zeitabschnitt auf Mitternacht. Es enthält Datums- und Uhrzeitinformationen sowohl in Zahlen- als auch in Zeichendatentypen.
SYSDATE ist eine Datumsfunktion, die die aktuelle Uhrzeit und das aktuelle Datum abruft. Der richtige Zeitraum reicht vom 1. Januar 4712 v. Chr. Bis zum 31. Dezember 9999 n. Chr. Die Zeichenwerte im Standardformat (bestimmt durch den Oracle-Initialisierungsparameter NLS_DATE_FORMAT) werden von PL / SQL auf natürliche Weise in DATE-Werte konvertiert.
Wir können mathematische Operationen wie Addition und Subtraktion auf Daten anwenden. PL / SQL interpretiert ganzzahlige Literale in Form von Tagen. Beispielsweise, SYSDATE + 1 Punkte bis morgen.
TIMESTAMP
Der Zeitstempeldatentyp ist eine Erweiterung des Datentyps DATE. Es wird verwendet, um das Jahr, den Monat, die Stunde und die Sekunde zu speichern. Das Standardzeitstempelformat wird durch den Oracle-Initialisierungsparameter NLS_TIMESTAMP_FORMAT festgelegt.
Syntax:
TIMESTAMP[(precision)]
Hier ist die Genauigkeit kein obligatorischer Parameter und zeigt auf die Anzahl der Stellen, die sich im Bruchteil des Sekundenfelds befindet. Die Genauigkeit sollte ein beliebiges ganzzahliges Literal von 0 bis 9 sein. Der Standardwert ist 6.
Zeitstempel mit Zeitzone
Dieser Datentyp ist eine Erweiterung des Datentyps TIMESTAMP und enthält eine Zeitzonenverschiebung. Die Zeitzonenverschiebung ist die Zeitdifferenz (in Stunden und Minuten) zwischen der Ortszeit und der koordinierten Weltzeit (UTC).
Der Standardzeitstempel mit Zeitzonenformat wird durch den Oracle-Initialisierungsparameter NLS_TIMESTAMP_TZ_FORMAT bestimmt. Syntax:
TIMESTAMP[(precision)] WITH TIME ZONE
Hier ist die Genauigkeit kein obligatorischer Parameter und zeigt auf die Anzahl der Stellen, die sich im Bruchteil des Sekundenfeldes befindet. Die Genauigkeit sollte ein beliebiges ganzzahliges Literal von 0 bis 9 sein. Der Standardwert ist 6.
Wie führe ich SWF-Dateien aus?
Wir können die Zeitzone mit Symbolen erwähnen. Es kann eine Langform wie 'US / Pacific' oder kurz wie 'PDT' oder eine Kombination aus beiden sein. Daher wird dieser Datentyp zum Abdecken und Berechnen von Informationen über geografische Standorte hinweg verwendet.
Zeitstempel mit lokaler Zeitzone
Zeitstempel mit lokalem Zeitzonendatentyp ist eine Erweiterung des TIMESTAMP-Datentyps und enthält Zeitzonenverschiebung. Die Zeitzonenverschiebung ist die Zeitdifferenz (in Stunden und Minuten) zwischen der Ortszeit und der koordinierten Weltzeit (UTC).
Syntax:
TIMESTAMP [(precision)] WITH LOCAL TIME ZONE
Hier ist die Genauigkeit kein obligatorischer Parameter und zeigt auf die Anzahl der Stellen, die sich im Bruchteil des Feldes der Sekunde befindet. Die Genauigkeit sollte ein beliebiges ganzzahliges Literal von 0 bis 9 sein. Der Standardwert ist 6.
TIMESTAMP WITH LOCAL TIME ZONE unterscheidet sich von TIMESTAMP WITH TIME ZONE dadurch, dass beim Einfügen von Werten in die Datenbank der Wert auf die Zeitzone der Datenbank festgelegt wird und die Zeitzonenverschiebung nicht in der Datenbankspalte gespeichert wird. Beim Abrufen des Werts wird er jedoch in der lokalen Zeitzonensitzung zurückgegeben.
INTERVALLJAHR BIS MONAT
Dieser Datentyp wird zum Speichern und Berechnen von Jahren und Monaten verwendet.
Syntax:
INTERVAL YEAR [(precision)] TO MONTH
Hier ist die Genauigkeit die Anzahl der Ziffern in einem Jahresfeld. Die Genauigkeit sollte ein beliebiges ganzzahliges Literal von 0 bis 4 sein. Der Standardwert ist 2.
INTERVALLJAHR BIS ZWEITES
Der Datentyp Intervall von Jahr zu Sekunde wird zum Speichern und Berechnen von Intervallen für Tage, Stunden, Minuten und Sekunden verwendet.
Syntax:
INTERVAL DAY [(l_precision)] TO SECOND [(fractional_s_precision)]
Hier das Präzision und fraktionale_s_Präzision sind die Anzahl der Ziffern im Feld Tage bzw. Sekunden.
Die Genauigkeit sollte ein beliebiges ganzzahliges Literal von 0 bis 9 sein. Die Standardwerte sind 2 bzw. 6.
Feldwerte: Datumszeit und Intervall
- ZWEITE: Die Werte für den gültigen DateTime-Bereich liegen zwischen 00 und 59,9 (m), wobei m die Zeitbruchsekunden bezeichnet. Die Werte für den gültigen Intervallbereich liegen zwischen 00 und 59,9 (m), wobei m das Intervall in Sekundenbruchteilen bezeichnet.
- MINUTE: Die Werte für den gültigen DateTime-Bereich liegen zwischen 00 und 59. Die Werte für den gültigen Intervallbereich liegen zwischen 0 und 59.
- STUNDE: Die Werte für den gültigen DateTime-Bereich liegen zwischen 00 und 23. Die Werte für den gültigen Intervallbereich liegen zwischen 0 und 23.
- TAG: Die Werte für den gültigen DateTime-Bereich liegen zwischen 01 und 31 (begrenzt durch die Werte von YEAR und MONTH gemäß den Regeln des Gebietsschemakalenders). Der Wert für einen gültigen Intervallbereich ist eine Ganzzahl ungleich Null.
- MONAT: Die Werte für den gültigen DateTime-Bereich liegen zwischen 01 und 12. Die Werte für den gültigen Intervallbereich liegen zwischen 0 und 11.
- JAHR: Die Werte für den gültigen DateTime-Bereich liegen zwischen -4712 und 9999 ohne Jahr 0. Der Wert für den gültigen Intervallbereich ist eine Ganzzahl ungleich Null.
- TIMEZONE_HOUR: Die Werte für den gültigen DateTime-Bereich liegen zwischen -12 und 14, einschließlich Änderungen der Sommerzeit. Dies gilt nicht für den gültigen Intervallbereich.
- TIMEZONE_MINUTE: Die Werte für den gültigen DateTime-Bereich liegen zwischen 00 und 59. Dies gilt nicht für den gültigen Intervallbereich.
- TIMEZONE_REGION: Die Werte für den gültigen DateTime-Bereich gelten nicht für DATE oder TIMESTAMP. Dies gilt nicht für einen gültigen Intervallbereich.
- TIMEZONE_ABBR: Die Werte für den gültigen DateTime-Bereich gelten nicht für DATE oder TIMESTAMP. Dies gilt nicht für den gültigen Intervallbereich.
PL SQL-Funktionen in Datetime
Hier enthalten m und n die Werte der datetime.
Sl. Nein. | Name | Zwecke |
---|---|---|
7 | SYSDATE () | Ruft die aktuelle Datums- und Uhrzeitangabe ab. |
1 | LAST_DAY (m) | Ruft den letzten Tag des Monats ab. |
zwei | ADD_MONTHS (m, n) | Fasst m und n Monate zusammen. |
3 | MONTHS_BETWEEN (m, n) | Ruft die Anzahl der Monate zwischen m und n ab. |
4 | NEXT_DAY (m, Tag) | Ruft die Datumszeit des folgenden Tages nach m ab. |
5 | NÄCHSTES MAL | Ruft die Uhrzeit / den Tag aus der vom Benutzer angeforderten Zeitzone ab. |
6 | RUNDE (m [, Einheit]) | Runden m. |
8 | TRUNC (m [, Einheit]) | Kürzt m. |
PL SQL-Funktionen im Zeitstempel
Hier enthält m den Wert des Zeitstempels.
Sl. Nein. | Name | Zwecke |
---|---|---|
7 | TO_TIMESTAMP_TZ (m, [Format]) | Konvertiert den String m in einen TIMESTAMP WITH TIMEZONE. |
1 | AKTUELLER ZEITSTEMPEL () | Ruft einen TIMESTAMP MIT TIMEZONE mit der aktuellen Sitzung und Sitzungszeitzone ab. |
zwei | FROM_TZ (m, Zeitzone) | Konvertiert den m TIMESTAMP und erwähnt time_zone in TIMESTAMP WITH TIMEZONE. |
3 | LOCALTIMESTAMP () | Ruft einen TIMESTAMP mit der Ortszeit in der Sitzungszeitzone ab. |
4 | SYSTEMTIMESTAMP () | Ruft einen TIMESTAMP MIT TIMEZONE mit der aktuellen Datenbankzeit und Datenbankzeitzone ab. |
5 | SYS_EXTRACT_UTC (m) | Konvertiert den m TIMESTAMP WITH TIMEZONE in TIMESTAMP mit Datum und Uhrzeit in UTC. |
6 | TO_TIMESTAMP (m, [Format]) | Konvertiert den String m in einen TIMESTAMP. |
Code-Implementierung mit Datetime- und Timestamp-Funktionen:
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; /
Ausgabe des obigen Codes:
PL SQL-Funktionen im Intervall
Sl. Nein. | Name | Zwecke |
---|---|---|
1 | NUMTODSINTERVAL (m, Intervall) | Wandelt die Zahl m in INTERVALLTAG IN ZWEITEN um. |
zwei | NUMTOYMINTERVAL (m, Intervall) | Wandelt die Zahl m in INTERVALLJAHR IN MONAT um. |
3 | TO_DSINTERVAL (m) | Transformiert die Zeichenfolge m in INTERVALLTAG BIS ZWEITER. |
4 | TO_YMINTERVAL (m) | Wandelt den String m in INTERVALLJAHR ZU MONAT um. |
Arithmetische Operationen in Datenzeit und Intervall
Mit PL / SQL können Sie DateTime- und Intervallausdrücke erstellen.
Die Liste der Operatoren, die angewendet werden können, ist:
- Wenn der erste Operand DateTime und der zweite Operand ein Intervall ist und wir den Operator (+) auf sie anwenden möchten, ist der Ergebniswert vom Typ DateTime.
- Wenn der erste Operand DateTime und der zweite Operand ein Intervall ist und wir den Operator (-) auf sie anwenden möchten, ist der Ergebniswert vom Typ DateTime.
- Wenn der erste Operand Intervall und der zweite Operand DateTime ist und wir den Operator (+) auf sie anwenden möchten, ist der Ergebniswert vom Typ DateTime.
- Wenn der erste Operand DateTime und der zweite Operand DateTime ist und wir den Operator (-) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
- Wenn der erste Operand ein Intervall und der zweite Operand ein Intervall ist und wir den Operator (+) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
- Wenn der erste Operand ein Intervall und der zweite Operand ein Intervall ist und wir den Operator (-) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
- Wenn der erste Operand ein Intervall und der zweite Operand numerisch ist und wir den Operator (*) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
- Wenn der erste Operand numerisch und der zweite Operand ein Intervall ist und wir den Operator (*) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
- Wenn der erste Operand ein Intervall und der zweite Operand numerisch ist und wir den Operator (/) auf sie anwenden möchten, ist der Ergebniswert vom Intervalltyp.
Code-Implementierung mit einigen arithmetischen Operationen in Datetime und Intervall.
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;
Die Ausgabe des obigen Codes:
Net Interview Fragen und Antworten für erfahrene
Erläuterung des obigen Codes:
- Im Code bedeutet '1600 5: 20: 1' 1600 Tage, 5 Stunden, 20 Minuten und 1 Sekunde .
- In der ersten Ausgabe ist der erste Operand DateTime und der zweite Operand ein Intervall. Als wir sie hinzufügten, bekamen wir ein Datum als 24-DEZ mit der Zeit in AM.
- In der zweiten Ausgabe ist der erste Operand DateTime und der zweite Operand ein Intervall. Beim Subtrahieren des ersten vom zweiten haben wir ein Datum als 20-MAR mit der Zeit in PM erhalten.
Häufig gestellte Fragen und Antworten
F # 1) Was ist der aktuelle Zeitstempel?
Antworten: Der aktuelle Zeitstempel oder CURRENT_TIMESTAMP beschreibt einen Zeitstempel, der vom Lesen der Uhrzeit abhängt, während eine SQL-Anweisung auf dem Server ausgeführt wird.
F # 2) Was gibt Sysdate in Oracle zurück?
Antworten: Die Funktion Sysdate () ruft das aktuelle Datum und die Uhrzeit ab, die im Betriebssystem konfiguriert sind, in dem sich die Datenbank befindet. Der Datentyp des Werts, der von ihm zurückgegeben wird, ist DATE.
F # 3) Welche PL / SQL-Funktion gibt das aktuelle Systemdatum und die aktuelle Systemzeit an?
Antworten: Die PL / SQL-Funktion, die das aktuelle Systemdatum und die aktuelle Systemzeit angibt, ist SYSDATE ().
F # 4) Was ist DUAL SQL?
Antworten: DUAL ist eine Datenbanktabelle, die standardmäßig von Oracle zusammen mit einem Datenwörterbuch erstellt wird. Es enthält eine Zeile und eine Spalte. DUAL gehört SYS, kann aber von allen Benutzern verwendet werden.
F # 5) Wie deklarieren Sie eine Datumsvariable in PL SQL?
Antworten: Wir können eine Datumsvariable in PL / SQL mit der folgenden Syntax deklarieren:
DECLARE stdt DATE := to_date ('06/06/2006', 'DD/MM/YYYY');
F # 6) Wie ist das Datumsformat in Oracle?
Antworten: Das Standard-Datumsformat in Oracle für die Eingabe und Ausgabe lautet 'TT / MON / JJ'. Dies wird durch den Wert im Parameter NLS_DATE_FORMAT konfiguriert.
Fazit
In diesem Tutorial zum PL SQL-Datumszeitformat haben wir einige grundlegende Konzepte von PL / SQL-Datum und -Uhrzeit ausführlich erläutert, die für die Verwendung bei der Programmierung erforderlich sind.
Wir haben die folgenden Themen behandelt:
- Datum (und Uhrzeit.
- Funktionen rund um Datetime, Zeitstempel und Intervall.
- Arithmetische Operationen für Datetime und Intervall.
- Feldwerte in Datetime und Intervall.
Literatur-Empfehlungen
- Datums- und Uhrzeitfunktionen in C ++ mit Beispielen
- Python DateTime Tutorial mit Beispielen
- C # DateTime Tutorial: Arbeiten mit Datum und Uhrzeit in C # mit Beispiel
- Unterprogramme: PL SQL-Prozeduren und -Funktionen mit Beispielen
- VBScript-Datumsfunktionen: Datumsformat-, DateAdd- und cDate-Funktionen
- PL SQL Tutorial für Anfänger mit Beispielen | Was ist PL / SQL?