Maison base de données Oracle Comment convertir des données de caractères en données numériques dans Oracle

Comment convertir des données de caractères en données numériques dans Oracle

Apr 17, 2023 am 09:19 AM

La base de données Oracle est un système de gestion de base de données relationnelle très populaire. Elle possède des types de données riches, notamment des types numériques, des types de caractères, des types de date, des types Blob, etc. Dans les applications pratiques, nous rencontrons souvent le besoin de convertir des données de type caractère en un type numérique. Cet article explique comment convertir des données de caractères en données numériques dans la base de données Oracle.

La base de données Oracle prend en charge plusieurs types de nombres, notamment les entiers (INT), les virgules flottantes (FLOAT), les doubles précisions (DOUBLE), etc. Lorsque nous devons convertir des données alphabétiques en données numériques, nous pouvons utiliser la fonction intégrée TO_NUMBER() de la base de données Oracle pour y parvenir. La syntaxe de la fonction

TO_NUMBER() est la suivante :

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

Parmi eux, la chaîne représente les données de caractères qui doivent être converties ; number, qui est facultatif ; nls_langue Représente les paramètres régionaux, qui sont également facultatifs.

Si le paramètre format n'est pas spécifié, la base de données Oracle effectuera la conversion selon le format numérique de la session en cours par défaut. Si la chaîne contient des caractères spéciaux, tels que $,, etc., vous devez alors utiliser le paramètre format pour spécifier les règles de conversion.

Exemple 1 :

Nous créons d'abord une table pour stocker les données de caractères :

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

Puis insérez-en dans la table Data :

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');

Ensuite, nous utilisons la fonction TO_NUMBER() pour convertir les données de caractères en données numériques :

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

Le résultat de l'exécution est le suivant :

ID NUM
1 123
2 45.67
3 -8.9
4 123.456

Exemple 2 :

Dans les applications réelles, nous pouvons vous rencontrer le besoin pour convertir des données de caractères en données entières. Dans ce cas, vous devez utiliser le paramètre format pour spécifier les règles de conversion.

Par exemple, nous avons un tableau pour stocker les données de score des élèves :

CREATE TABLE test_score (
id NUMBER(10),
nom VARCHAR2(50),
score VARCHAR2(50)
);

Insérer des données dans le tableau Données :

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, nom, score) VALUES (3, '王五', '78');
INSERT INTO test_score (id, name, score) VALUES (4, 'Zhao Liu' , '60 +');

Nous pouvons utiliser l'instruction SQL suivante pour convertir le champ de score en données entières :

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

Dans ce qui précède Instruction SQL, '999' représente une chaîne formatée, où chaque 9 représente un chiffre, et s'il n'y a pas suffisamment de chiffres, 0 est ajouté devant. Par conséquent, cette instruction convertit les données caractères en données entières.

Les résultats de l'exécution sont les suivants :

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

Il est à noter que si la chaîne contient des caractères non numériques, alors la fonction TO_NUM BER( ) renverra une erreur. Par conséquent, lorsque vous utilisez cette fonction, vous devez vous assurer que la chaîne à convertir répond aux exigences de format des nombres, sinon vous devez utiliser d'autres fonctions pour nettoyer les données.

Résumé :

La base de données Oracle fournit la fonction TO_NUMBER(), qui peut convertir les données alphabétiques en données numériques. Lorsque vous utilisez cette fonction, vous devez faire attention à la spécification des règles de conversion et vous assurer que la chaîne à convertir répond aux exigences de format des nombres. Cet article présente deux exemples et espère être utile aux lecteurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données? Mar 13, 2025 pm 01:16 PM

Comment utiliser les curseurs dans PL / SQL pour traiter plusieurs lignes de données?

Quels sont les segments couramment utilisés dans les bases de données Oracle Quels sont les segments couramment utilisés dans les bases de données Oracle Mar 04, 2025 pm 06:08 PM

Quels sont les segments couramment utilisés dans les bases de données Oracle

Quels sont les outils de test de performances pour les bases de données Oracle Quels sont les outils de test de performances pour les bases de données Oracle Mar 04, 2025 pm 06:11 PM

Quels sont les outils de test de performances pour les bases de données Oracle

Quels sont les outils clients d'installation de la base de données Oracle? Quels sont les outils clients d'installation de la base de données Oracle? Mar 04, 2025 pm 06:09 PM

Quels sont les outils clients d'installation de la base de données Oracle?

Comment télécharger Oracle Database Comment télécharger Oracle Database Mar 04, 2025 pm 06:07 PM

Comment télécharger Oracle Database

Quelles espaces de table par défaut la base de données Oracle fournit-elle? Quelles espaces de table par défaut la base de données Oracle fournit-elle? Mar 04, 2025 pm 06:10 PM

Quelles espaces de table par défaut la base de données Oracle fournit-elle?

Comment créer des utilisateurs et des rôles dans Oracle? Comment créer des utilisateurs et des rôles dans Oracle? Mar 17, 2025 pm 06:41 PM

Comment créer des utilisateurs et des rôles dans Oracle?

Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles? Mar 13, 2025 pm 01:19 PM

Comment utiliser Oracle Data Masking and Unsetting pour protéger les données sensibles?

See all articles