Si vous voulez correspondre aux valeurs field_name contenant ' % & bla bla 2' , alors vous devez écrire ceci:
set define off
Select * From Some_Table Where Field_Name Like '%bla\%bla&2%' escape '\';
vous obtenez de spécifier quel personnage vous voulez utiliser pour échapper à un personnage suivant (merci merci d'aller à mathguy, pas à moi). Vous devez également set define off
pour empêcher sqlplus d'essayer de substituer des valeurs dans une chaîne.
Cependant, si vous voulez correspondre aux valeurs field_name que la chaîne donnée exactement égale, alors vous faites ceci:
set define off
Select * From Some_Table Where Field_Name = 'bla%bla&2';
Désolé, mais non, ce n'est pas comme ça que vous échappez à% dans la condition LIKE. Il est préférable de supprimer cette réponse incorrecte. quelqu'un l'a déjà surclassé, ce qui signifie qu'ils pensent que c'est correct. – mathguy
@mathguy Désolé, mais oui. Cela fonctionne parce que je l'ai testé. – jeff6times7
Désolé, mais cela signifie que vous ne savez pas non plus comment tester.Essayez ceci: 'sélectionnez 1 comme résultat de dual où 'yourstring' comme 'your %% string';' Selon vous, le jeu de résultats doit avoir zéro rangées, car la chaîne d'entrée n'a pas d'esperluette dedans. Mais en fait, il retourne une ligne avec la valeur 1 dans la colonne 'result'. – mathguy