7
votes

Oracle - Trouver des valeurs avec des espaces principaux ou de fin

J'essaie de trouver si une certaine colonne nécessite une fonction sur elle.

Comment puis-je savoir si cette colonne dans une table comporte des enregistrements blancheurs avant ou après les données réelles.


1 commentaires

Voulez-vous dire "blancspace" ou "espace"? Le premier comprend des onglets et la réponse acceptée ne gèrent pas cela.


6 Réponses :


9
votes

une manière rapide et sale xxx


0 commentaires

1
votes

Vous pouvez utiliser Expressions régulières à Oracle .

Exemple: xxx


1 commentaires

Votre exemple n'a pas besoin de regex - il ne serait que votre_column comme «%» ou votre_column comme «%» Je pense que la regex Woul; D doit être ^ [\ s] +. * correspondant à tous les espaces blancs



16
votes

Vous pouvez le vérifier à l'aide de la fonction CODE> CORRECT CODE> Fonction elle-même, pas la plus efficace mais précise:

Select TRIM(MyColumn) as TrimmedMyColumn
From TableA


3 commentaires

oui cela fonctionne. Mais réalisez cela signifie que chaque requête est une numérisation de table complète. Si vous faites beaucoup de questions, envisagez de mettre à jour vos données pour ne pas avoir d'espaces.


@Bwawok - +1 - Si vous l'utilisez toujours comme ceci, il est extrêmement préférable de le faire une fois de temps et de faire une mise à jour, n'était pas sûr de la situation des opérations dans ce cas.


@bwawok - ou un scan rapide complet de l'indice complet.



-1
votes
select data1, length(data1)-length(replace(data1,' ','')) from t;

0 commentaires

-1
votes

La requête suivante récupérera les lignes lorsque l'un des champs de table TSCA a des espaces de fuite à la fin: Sélectionnez * de TABLE_NAME A Où RAWTOHEX (SUBSTR (A.T $ DSCA, Longueur (TSCA), 1)) = 'A0' et Garniture (T $ DSCA) n'est pas NULL;


2 commentaires

Envisagez de décrire votre solution au lieu de "Voici le code, au revoir."


Bienvenue dans le débordement de la pile! Bien que ce code puisse aider à résoudre le problème, il n'explique pas pourquoi et / ou comment répond à la question. Fournir ce contexte supplémentaire améliorerait de manière significative sa valeur éducative à long terme. Veuillez Modifier Votre réponse à ajouter une explication, y compris quelles limitations et hypothèses s'appliquent.



2
votes

Alors, pourquoi ne pouvez-vous pas utiliser ce qui suit pour trouver les espaces principaux? J'ai été en mesure d'identifier les enregistrements avec des espaces de pointe de cette façon et d'utiliser «%» pour trouver les espaces de fuite.
xxx

J'ai également utilisé ce qui suit pour supprimer à la fois les espaces de début et de fin xxx

ce qui semble fonctionner juste bien .


0 commentaires