Heim >Datenbank >Oracle >So fragen Sie Zahlen in Oracle ab

So fragen Sie Zahlen in Oracle ab

PHPz
PHPzOriginal
2023-04-04 09:13:022713Durchsuche

Oracle-Datenbank ist ein weltweit beliebtes relationales Datenbankverwaltungssystem. Es unterstützt mehrere Datentypen, einschließlich numerischer Typen wie Ganzzahlen (INTEGER), Dezimalzahlen (FLOAT), doppelte Genauigkeit (DOUBLE PRECISION) usw. Das Abfragen von Zahlen in einer Oracle-Datenbank ist ein grundlegender Vorgang. Erfahren Sie weiter unten mehr darüber.

1. Numerische Oracle-Datentypen

Die numerischen Datentypen in der Oracle-Datenbank umfassen hauptsächlich Ganzzahltypen und Dezimaltypen. Zu den Ganzzahltypen gehören: NUMBER und INTEGER, und zu den Dezimaltypen gehören: FLOAT, DOUBLE PRECISION, BINARY FLOAT und BINARY_DOUBLE. Lassen Sie uns sie im Folgenden einzeln vorstellen.

1. NUMBER-Typ

Der NUMBER-Typ ist der am häufigsten verwendete Zahlentyp in der Oracle-Datenbank und sein Bereich liegt zwischen -10^124 und 10^124. Der Typ NUMBER kann eine beliebige Anzahl von Ziffern speichern. Wenn Genauigkeit und Skalierung nicht angegeben sind, nimmt er den größten Platz ein. Um die Genauigkeit und Skalierung anzugeben, können Sie die folgende Methode verwenden:

NUMBER(precision,scale)

In der obigen Aussage stellt Präzision die Gesamtzahl der Ziffern (maximal 38) und Skalierung die Länge des Dezimalteils dar (höchste Präzision) .

2. INTEGER-Typ

INTEGER-Typ wird zum Speichern von Ganzzahlen verwendet und sein Bereich ist -2^31 ~ 2^31-1. Wenn ein größerer Zahlenbereich erforderlich ist, sollte der NUMBER-Typ verwendet werden. Für den Typ INTEGER ist die Angabe von Genauigkeit und Skalierung nicht erforderlich.

3. FLOAT-Typ

Der FLOAT-Typ wird zum Speichern von Gleitkommazahlen verwendet, sein Bereich liegt zwischen 1,17E^-38 und 3,4E^38 und die Genauigkeit beträgt 126 Bit. Da die Gleitkommagenauigkeit instabil ist, sollten Sie bei Vergleichen sehr vorsichtig sein.

4. Typ DOUBLE PRECISION

Der Typ DOUBLE PRECISION wird auch zum Speichern von Gleitkommazahlen mit einem Bereich von 2,2E^-308 ~ 1,8E^308 und einer Genauigkeit von 15 Stellen verwendet. Er ist präziser als der FLOAT-Typ und daher stabiler.

2. Numerische Oracle-Abfrage

Mit den oben genannten numerischen Typen können wir numerische Abfragen in der Oracle-Datenbank durchführen. Die Oracle-Datenbank bietet eine Vielzahl von Abfrageanweisungen. Zu den häufig verwendeten gehören SELECT, WHERE, GROUP BY, HAVING, ORDER BY usw.

1. SELECT-Abfrage

In der Oracle-Datenbank können wir die SELECT-Anweisung verwenden, um Zahlen abzufragen. Beispielsweise können wir die Gesamtpunktzahl aller Schüler mit der folgenden Anweisung abfragen:

SELECT SUM(score) FROM student;

Hier kann die SUM-Funktion die Zahlen in der angegebenen Spalte summieren, um die Gesamtpunktzahl zu erhalten.

2. WHERE-Abfrage

Die WHERE-Anweisung wird zur Angabe von Abfragebedingungen verwendet und kann für numerische Abfragen verwendet werden. Beispielsweise können wir die folgende Anweisung verwenden, um alle Schüler mit einer Punktzahl von mehr als 80 Punkten abzufragen:

SELECT * FROM student WHERE Score >

Hier filtert die WHERE-Anweisung die Datensätze mit einer Punktzahl von mehr als 80 heraus und verwendet dann die SELECT-Abfrage, um die Ergebnisse anzuzeigen.

3. GROUP BY-Abfrage

Die GROUP BY-Anweisung wird verwendet, um dieselben Werte zu gruppieren. Beispielsweise können wir die folgende Anweisung verwenden, um die durchschnittliche Punktzahl basierend auf der Klasse abzufragen:

SELECT class, AVG(score) FROM student GROUP BY class;

Hier gruppiert die GROUP BY-Anweisung Datensätze nach Klasse und verwendet dann die AVG-Funktion zur Berechnung der Durchschnittspunktzahl jeder Klasse.

4. HAVING-Abfrage

HAVING-Anweisung wird verwendet, um die Filterbedingungen einer bestimmten Anzahl von Funktionen anzugeben. Anders als WHERE filtert HAVING die Ergebnisse nach GROUP BY. Beispielsweise können wir die folgende Anweisung verwenden, um Klassen mit einer durchschnittlichen Punktzahl von mehr als 80 abzufragen:

SELECT class, AVG(score) FROM student GROUP BY class HAVING AVG(score) > wählt Klassen mit einer durchschnittlichen Punktzahl von mehr als 80 aus. Klassen werden herausgefiltert.

5. ORDER BY-Abfrage

Die ORDER BY-Anweisung wird zum Sortieren der Abfrageergebnisse verwendet. Zum Beispiel können wir die folgende Anweisung verwenden, um von hohen zu niedrigen Punktzahlen zu sortieren:

SELECT * FROM student ORDER BY score DESC; DESC bedeutet hier absteigende Reihenfolge und ASC bedeutet aufsteigende Reihenfolge.

3. Vorsichtsmaßnahmen für numerische Oracle-Abfragen

Bei der Durchführung numerischer Oracle-Abfragen müssen Sie auf die folgenden Punkte achten:

1. Seien Sie bei Gleitkommazahlabfragen sehr vorsichtig, da deren Genauigkeit instabil ist.

2. Die Genauigkeit und Skalierung des numerischen Typs müssen angegeben werden, da er sonst den größten Platz einnimmt.

3. Die Funktionsfilterung nach GROUP BY muss die HAVING-Anweisung zur bedingten Beurteilung verwenden.

4. Verwenden Sie zum Sortieren der Ergebnisse unbedingt die ORDER BY-Anweisung, um die Genauigkeit der Ergebnisse sicherzustellen.

Zusammenfassung

Oracle Database ist ein sehr leistungsfähiges relationales Datenbankverwaltungssystem, das eine Vielzahl von Zahlentypen wie Ganzzahlen, Dezimalzahlen usw. unterstützt. Die numerische Abfrage von Oracle ist eine grundlegende Operation bei der Verwendung einer Oracle-Datenbank. Zu den gängigen Abfrageanweisungen gehören SELECT, WHERE, GROUP BY, HAVING, ORDER BY usw. Bei der Durchführung digitaler Abfragen müssen Sie auf Aspekte wie Präzision, Skalierung und instabile Gleitkommagenauigkeit achten, um die Genauigkeit der Abfrageergebnisse sicherzustellen.

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

Stellungnahme:
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