3 votes

Ecrivez une requête SQL pour imprimer les mots qui ne contiennent pas le symbole '%' dans une table.

J'ai écrit la requête suivante :

SELECT * from TABLENAME WHERE COLUMNNAME NOT LIKE ('%%%');

Supposons que le tableau ne comporte qu'une seule colonne. Le problème est que la requête ne reconnaît pas le % à l'intérieur de la colonne. NOTLIKE comme un caractère, plutôt comme une partie de la syntaxe elle-même. Comment puis-je rectifier cela ?

3voto

Damien_The_Unbeliever Points 102139

Vous avez le choix entre l'échappement des caractères :

SELECT * from TABLENAME WHERE COLUMNNAME NOT LIKE '%\%%';

Ou :

SELECT * from TABLENAME WHERE COLUMNNAME NOT LIKE '%|%%' ESCAPE '|';

2voto

ali sadeghi Points 111

Vous pouvez utiliser []

SELECT * from TABLENAME WHERE COLUMNNAME NOT LIKE ('%[%]%');

1voto

FaNo_FN Points 3614

C'est ce que j'avais en tête :

SELECT * from TABLENAME WHERE REPLACE(COLUMNNAME,'%','findthis') NOT LIKE ('%findthis%');

En remplaçant le symbole par quelque chose d'autre, puis en l'utilisant comme condition dans NOT LIKE .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X