Heim  >  Artikel  >  Datenbank  >  So konvertieren Sie Zeichendaten in Oracle in numerische Daten

So konvertieren Sie Zeichendaten in Oracle in numerische Daten

PHPz
PHPzOriginal
2023-04-17 09:19:415350Durchsuche

Oracle-Datenbank ist ein sehr beliebtes relationales Datenbankverwaltungssystem. Es verfügt über umfangreiche Datentypen, einschließlich numerischer Typen, Zeichentypen, Datumstypen, Blob-Typen usw. In praktischen Anwendungen stoßen wir häufig auf die Notwendigkeit, Daten vom Typ Zeichen in einen numerischen Typ umzuwandeln. In diesem Artikel wird erläutert, wie Zeichendaten in einer Oracle-Datenbank in numerische Daten konvertiert werden.

Oracle-Datenbank unterstützt mehrere Zahlentypen, einschließlich Ganzzahl (INT), Gleitkomma (FLOAT), doppelte Genauigkeit (DOUBLE) usw. Wenn wir Zeichendaten in numerische Daten umwandeln müssen, können wir dazu die integrierte Funktion TO_NUMBER() der Oracle-Datenbank verwenden. Die Syntax der Funktion

TO_NUMBER() lautet wie folgt:

TO_NUMBER(string, [format], [nls_sprache])

Unter diesen stellt string die Zeichendaten dar, die konvertiert werden müssen; format stellt das Format dar Zahl, die optional ist; nls_Sprache Stellt das Gebietsschema dar, das ebenfalls optional ist.

Wenn der Formatparameter nicht angegeben ist, führt die Oracle-Datenbank standardmäßig eine Konvertierung gemäß dem numerischen Format der aktuellen Sitzung durch. Wenn die Zeichenfolge Sonderzeichen wie $,, usw. enthält, müssen Sie den Formatparameter verwenden, um die Konvertierungsregeln anzugeben.

Beispiel 1:

Wir erstellen zunächst eine Tabelle zum Speichern von Zeichendaten:

CREATE TABLE test_number (
id NUMBER(10),
data VARCHAR2(50)
);

Dann fügen Sie einige Daten in die Tabelle ein:

INSERT INTO test_number (id, data) VALUES (1, '123');
INSERT INTO test_number (id, data) VALUES (2, '45.67');
INSERT INTO test_number (id, data) VALUES ( 3, ' -8.9');
INSERT INTO test_number (id, data) VALUES (4, '$123.456');

Als nächstes verwenden wir die Funktion TO_NUMBER(), um Zeichendaten in numerische Daten umzuwandeln:

SELECT id, TO_NUMBER(data ) AS num FROM test_number;

Das Ausführungsergebnis lautet wie folgt:

ID NUM
1 123
2 45,67
3 -8,9
4 123,456

Beispiel 2:

In tatsächlichen Anwendungen können wir Sie auf den Bedarf stoßen um Zeichendaten in Ganzzahldaten umzuwandeln. In diesem Fall müssen Sie den Formatparameter verwenden, um die Konvertierungsregeln anzugeben.

Zum Beispiel haben wir eine Tabelle zum Speichern der Punktedaten der Schüler:

TABELLE ERSTELLEN test_score (
id NUMBER(10),
name VARCHAR2(50),
score VARCHAR2(50)
);

Einige Daten einfügen in die Tabelle Daten:

INSERT INTO test_score (id, name, score) VALUES (1, '张三', '90');
INSERT INTO test_score (id, name, score) VALUES (2, '李思' , '85.5 ');
INSERT INTO test_score (id, name, score) VALUES (3, '王五', '78');
INSERT INTO test_score (id, name, score) VALUES (4, 'Zhao Liu' , '60 +');

Wir können die folgende SQL-Anweisung verwenden, um das Score-Feld in ganzzahlige Daten umzuwandeln:

SELECT id, name, TO_NUMBER(score, '999') AS score_int FROM test_score;

Im Obigen Die SQL-Anweisung „999“ stellt eine formatierte Zeichenfolge dar, wobei jede 9 eine Ziffer darstellt. Wenn nicht genügend Ziffern vorhanden sind, wird eine 0 vorangestellt. Daher wandelt diese Anweisung Zeichendaten in Ganzzahldaten um.

Die Ausführungsergebnisse lauten wie folgt:

ID NAME SCORE_INT
1 Zhang San 90
2 Li Si 85
3 Wang Wu 78
4 Zhao Liu 60

Es ist zu beachten, dass, wenn die Zeichenfolge nicht numerische Zeichen enthält, dann gibt die Funktion TO_NUM BER( ) einen Fehler zurück. Daher müssen Sie bei Verwendung dieser Funktion sicherstellen, dass die zu konvertierende Zeichenfolge den Formatanforderungen von Zahlen entspricht. Andernfalls müssen Sie andere Funktionen zur Datenbereinigung verwenden.

Zusammenfassung:

Die Oracle-Datenbank bietet die Funktion TO_NUMBER(), mit der Zeichendaten in numerische Daten umgewandelt werden können. Bei Verwendung dieser Funktion müssen Sie auf die Spezifikation der Konvertierungsregeln achten und sicherstellen, dass die zu konvertierende Zeichenfolge den Formatanforderungen von Zahlen entspricht. Dieser Artikel stellt zwei Beispiele vor und hofft, den Lesern hilfreich zu sein.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Zeichendaten in Oracle in numerische Daten. 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