1
votes

Comment puis-je supprimer des lignes de 2 caractères ou moins dans une colonne particulière?

Je nettoie une table de base de données afin de pouvoir créer un entrepôt de données pour mes cours, mais je dois d'abord m'assurer que les données sont de qualité.

Il y a beaucoup d'entrées de noms qui n'ont qu'une seule lettre. Je souhaite supprimer ces lignes avec un seul script.

 Certaines des entrées de nom


1 commentaires

Oracle REGEX devrait fonctionner pour cela.


3 Réponses :


2
votes
Delete from @your_table
Where length(@your_name_column)=1
This will remove all the rows with a 1 character length name

0 commentaires

1
votes

Cela n'a pas été testé mais REGEXP_LIKE peut être très utile pour des choses comme celle-ci.

delete from your_table 
where  regexp_like (column, '[A-Z]|[a-z]')


0 commentaires

2
votes

Vous pouvez obtenir le nombre de caractères dans la colonne nom avec la fonction length ()

delete from tablename
where length(trim(name)) < 2

La fonction trim () pourrait également être utile dans ce cas.


0 commentaires