Heim > Datenbank > Oracle > Hauptteil

So fragen Sie das Zeitformat in Oracle ab

WBOY
Freigeben: 2022-01-26 15:01:40
Original
7085 Leute haben es durchsucht

In Oracle können Sie die Anweisung „select sysdate from dual;“ verwenden, um das Zeitformat abzufragen. Diese Anweisung wird zum Formatieren des Ausgabedatums verwendet.

So fragen Sie das Zeitformat in Oracle ab

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

Wie fragt Oracle das Zeitformat ab? 1. Oracles Datenspeicherung im Zeitformat: Oracle speichert die Zeit in einem bestimmten Speicherformat, das 7 Bytes einnimmt und nichts mit der von der Abfrage angezeigten Zeit zu tun hat. Die gespeicherte Zeit umfasst Jahr, Monat, Tag, Stunde, Minute und Sekunde. Die Mindestgenauigkeit beträgt Sekunden. Zeiteinheiten unter Sekunden werden nicht gespeichert. Daher sollten Sie darauf achten, wenn einige Front-End-Programme, die die Millisekundenebene unterstützen (z. B. PB-Client-Programme), eine Verbindung zur Oracle-Datenbank herstellen. Das während der Abfrage angezeigte Zeitformat wird von der Sitzungsumgebung bestimmt oder vom Benutzer definiert und hat nichts mit der Datenbank zu tun. 2. Oracle-Zeitanzeigeformat

Normalerweise gibt Oracle nach, nachdem der Client eine Verbindung mit der Datenbank hergestellt hat a Standard Die Anzeigeform der Zeitformatdaten hängt vom verwendeten Zeichensatz ab. Im Allgemeinen werden Jahr, Monat und Tag anstelle von Stunden, Minuten und Sekunden angezeigt. Wenn Sie beispielsweise den Zeichensatz us7ascii (oder andere englische Zeichensätze) verwenden, wird das Standardzeitformat wie folgt angezeigt: 28. Januar 2003, und wenn Sie den Zeichensatz zhs16gbk (oder andere chinesische Zeichensätze) verwenden, wird das Standardzeitformat angezeigt wird angezeigt als: :28. Januar 2003. Wenn Sie beim Einfügen von Daten in die Tabelle keine Konvertierungsfunktion verwenden, muss das Format des Zeitfelds mit dem Zeitformat der Sitzungsumgebung übereinstimmen, andernfalls kann das Einfügen nicht durchgeführt werden. Um das Zeitformat der aktuellen Sitzung anzuzeigen, können Sie die folgende SQL-Anweisung verwenden:

SQL> select sysdate from dual;
Nach dem Login kopieren

3. Zeitformatdaten in die Oracle-Tabelle einfügen

Das Einfügen von Zeitformatdaten in die Oracle-Tabelle ist eine relativ mühsame Sache Sie schreiben Ihre Zeitwerte streng nach dem Zeitformat der aktuellen Sitzung oder Sie verwenden eine Konvertierungsfunktion, um das Format der Zeitdaten anzupassen. Es gibt zwei zeitbezogene Konvertierungsfunktionen: to_char und to_date. Die Funktion to_char (Zeitwert, Zeitformat) wandelt den Zeitwert in eine Zeichenfolgenform um, die normalerweise in Abfragen verwendet wird; to_date (Zeichenfolge, Zeitformat) wandelt die Formatzeichenfolge in einen Zeitwert um, der normalerweise in der Einfügeanweisung verwendet wird

4 So ändern Sie das Datumsformat in der Sitzung

Es wird gesagt, dass es drei Möglichkeiten gibt, das Datumsformat in der aktuellen Sitzung zu ändern. Ich habe nur die ersten beiden Methoden ausprobiert. sql-Datei. Ich weiß es nicht. Erklären Sie es unten einzeln.

(1) Ändern Sie das Datumsformat der aktuellen Sitzung in sql*plus

SQL> ändern Sie das Zeitformat der aktuellen Sitzung in dieses Format : 28.01.2003 15:23:38, also vier Ziffern für das Jahr – zwei Ziffern für den Monat – zwei Ziffern für Tag, Leerzeichen, Stunde: Minute: Sekunde im 24-Stunden-System.

Diese Änderungsmethode ist nur für die aktuelle Sitzung gültig. Beachten Sie, dass dies für die aktuelle Sitzung gilt, nicht für das aktuelle SQL*Plus-Fenster. Das heißt, wenn Sie es auf diese Weise ändern und dann den Befehl „connect“ verwenden, um als anderer Benutzer eine Verbindung zur Datenbank herzustellen oder eine Verbindung zu einer anderen Datenbank herzustellen, wird das Datumsformat ungültig und kehrt zum Standarddatumsformat zurück.

(2) Ändern Sie die Registrierung (nur für Windows-Systeme)

Fügen Sie eine Zeichenfolge (8i-Version) zum Primärschlüssel von hkey_local_machinesoftwareoraclehome0 in der Registrierung hinzu. Der Zeichenfolgenname ist nls_date_format zu definieren, beispielsweise: jjjj-mm-tt hh24:mi:ss, und starten Sie dann sql*plus neu.

Diese Änderungsmethode gilt für das SQL*Plus-Fenster. Das heißt, egal wie viele SQL*Plus-Fenster Sie öffnen, dieses Mal ist das Format das Standardformat. Das Ändern der serverseitigen Registrierung ist ungültig. Nur das Ändern der clientseitigen Registrierung ist wirksam.

(3) Ändern Sie die Datei glogin.sql im Verzeichnis $oracle_homesqlplusadmin

Ich habe diese Methode nicht ausprobiert, daher wage ich es nicht, sie wahllos zu sagen, um nicht alle in die Irre zu führen. Bitte geben Sie mir Ratschläge von Experten, die diese Methode kennen.

5 Priorität des Datumsformats

Welche Änderungsmethode ist wirksam, wenn in einer bestimmten Umgebung sowohl die Registrierung als auch die aktuelle Sitzung mit dem Befehl alter session geändert werden? Der Befehl alter session ist gültig und hat die höchste Priorität. Das heißt, unabhängig von der aktuellen Clientumgebung oder der Art und Weise, wie die Registrierung geändert wurde, hat Ihr geändertes Zeitformat Vorrang, solange Sie den Befehl alter session verwenden, um das Zeitformat zu ändern. Wenn Sie daher direkt die interaktive SQL*Plus-Abfrage verwenden oder Zeitformatdaten einfügen, können beide Methoden verwendet werden. Wenn Sie SQL-Dateien zum Batch-Einfügen oder zur geplanten Ausführung verwenden, verwenden Sie am besten den Befehl alter session, um die Sitzung zu ändern, bevor Sie Zeitdaten verwenden, um sicherzustellen, dass der normale Betrieb dieser SQL-Anweisung nichts mit der Umgebung zu tun hat. Wenn das Front-End-Client-Programm Daten im Zeitformat verwenden muss, ist es ebenfalls am besten, die Sitzung vor der Verwendung zu ändern oder die Funktion to_char oder to_date zum Konvertieren zu verwenden (die Verwendung von Konvertierungsfunktionen wird dringend empfohlen), um sicherzustellen, dass die Das Programm wird entsprechend der Umgebung ausgeführt. Nichts zu tun.

Zusammenfassung:

Oracle-Datenbank definiert viele Funktionen für Zeittypdaten, insbesondere für die Berechnung von Zeitdaten, was natürlich sehr praktisch ist. Voraussetzung für die Bequemlichkeit ist, dass Sie mit den Zeitfunktionen von Oracle vertraut sind. Hier sehe ich manchmal, dass einige Leute Felder vom Typ „String“ verwenden, wenn sie Daten vom Typ „Zeit“ speichern. Ich lehne diesen Ansatz entschieden ab, sei es aus der Perspektive des Systemaufwands, der Berechnung von Zeitdaten oder des Abrufs bestimmter Unterdaten Daten wie das rechtzeitige Abrufen des Monats, der Woche usw. sind nicht so praktisch wie das direkte Speichern als Zeittypdaten. Solange Sie mit den Zeitfunktionen von Oracle vertraut sind, wird es meiner Meinung nach jedem gefallen. Es ist sehr flexibel und leistungsstark. Sie können fast alles tun, was Sie sich zum Thema Zeit vorstellen können – es hängt von Ihrem Verständnis der Oracle-Zeit ab Funktionen

Empfohlenes Tutorial: „Oracle Video Tutorial

Das obige ist der detaillierte Inhalt vonSo fragen Sie das Zeitformat in Oracle ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage