-1
votes

Query SQL Pour supprimer certains textes de chaque champ dans une colonne spécifique - Oracle SQL

J'essaie de convertir les éléments suivants: xxx

dans ce qui suit: xxx

donc il ne donne que le premier 6 Caractères pour chaque champ dans une colonne (la colonne a beaucoup plus d'entrées). J'ai besoin d'un choix et de ne pas réécrire la table. Quelqu'un sache comment?


1 commentaires

Qu'est-ce que tu as essayé jusque-là?


3 Réponses :


1
votes

Une méthode simple est regexp_substr () : xxx

Ceci renvoie les chiffres de tête de la valeur de colonne.


0 commentaires

2
votes

Utiliser substr ()

Démo xxx

sortie: xxx


0 commentaires

1
votes
with s (id, file_id) as (
select 1, '128804/12/0'   from dual union all
select 2, '128876/15/0'   from dual union all
select 3, '128876'        from dual union all
select 4, '128876/128876' from dual)
select id, file_id,
regexp_substr (file_id, '[^/]+') as file_id_sub_1,
regexp_replace(file_id, '/.*')   as file_id_sub_2
from s;

        ID FILE_ID       FILE_ID_SUB_1   FILE_ID_SUB_2
---------- ------------- --------------- ---------------
         1 128804/12/0   128804          128804
         2 128876/15/0   128876          128876
         3 128876        128876          128876
         4 128876/128876 128876          128876

0 commentaires