1
votes

Comment utiliser l'opérateur LIKE dans Oracle SQL

J'utilise Oracle et j'essaye de filtrer une partie du texte d'une chaîne. Par exemple, je veux savoir quand dans un texte il y a 'Note de crédit', ce qui se passe, c'est qu'il y a des valeurs comme "Générer une note de crédit manuellement".

Dans SQL Server, je sais que cela fonctionne avec:

Select Column1
From Table1
Where Column1 LIKE '% Credit% Note%'

Mais je n'obtiens pas ce qui précède dans Oracle, ne renvoie aucune correspondance avec "Générer une note de crédit manuellement".

Des suggestions?

p >


3 commentaires

Vraisemblablement, il y a d'autres caractères qui peuvent être cachés qui causent un problème.


@TheImpaler Cela fonctionne pour moi: sqlfiddle.com/#!4/2e627/1


Dans Oracle, la comparaison de chaînes est sensible à la casse , donc '% Credit% Note' ne correspondra pas à la valeur 'Generate credit note'


3 Réponses :


2
votes

La syntaxe que vous utilisez est correcte.

Si la requête ne renvoie pas les données, il se peut qu'il y ait un problème avec les données. Je sais que cela peut ressembler à du texte brut, mais parfois il y a un codage invisible, surtout s'il a été copié à partir d'un traitement de texte lourd comme MS Word ou quelque chose du genre.

Créez des lignes supplémentaires et écrivez le texte manuellement pour vous assurer qu'aucun encodage n'est copié. Essayez également de copier-coller la valeur de la table dans le bloc-notes, voir qu'il colle quelques symboles supplémentaires. Vérifiez également s'il s'agit d'un problème de respect de la casse.


0 commentaires

0
votes
SELECT Column1
From Table1
Where Column1 LIKE '%Credit Note%'
You don't have to add % to represent the white space. The like operator can take in string and white spaces when you wrap them up in this way 'text to search'.

0 commentaires

0
votes

Vous pouvez utiliser ceci:

Select Column1 
From Table1 
Where Column1 LIKE '%Credit%'  
  or Column1 LIKE '%Note%'

Si vous avez besoin de faire correspondre ces mots, essayez d'utiliser REGEXP_LIKE ()


0 commentaires