Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1183 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  LIKE et antislash

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

LIKE et antislash

n°2063868
nisalon_ca​je
Posté le 15-03-2011 à 21:23:04  profilanswer
 

Bonjour,
 
Dans ma base de données, j'aimerais supprimer toutes les lignes dont le nom contient un \
J'ai donc la requête suivante :  

Code :
  1. DELETE FROM stats_teams_arene WHERE nom LIKE '%\\%'


 
Le problème est que si j'ai un enregistrement dont le nom est \\ et bien il n'est pas supprimé ...
 
Je peux toujours faire un  

Code :
  1. DELETE FROM stats_teams_arene WHERE nom LIKE '%\\%' OR nom LIKE '%\\\\%'

(et cela fonctionne), mais j'aimerais comprendre pourquoi la première requête ne fonctionne pas.
 
Merci d'avance ;)

mood
Publicité
Posté le 15-03-2011 à 21:23:04  profilanswer
 

n°2063920
Oliiii
Posté le 16-03-2011 à 07:26:27  profilanswer
 

Ca marche bien avec SQL Server, tu utilises quel SGBD?

n°2063949
nisalon_ca​je
Posté le 16-03-2011 à 09:52:23  profilanswer
 

mysql


---------------
http://nisalon.labrute.com/
n°2064057
boomy29
PSN: tintine29
Posté le 16-03-2011 à 13:54:02  profilanswer
 

tu as essayé de déclarer une variable slash = '\\'
 
et la passer dans ton like ?  
je propose, pas essayé  
 
j'utilise sql serveur aussi  
 

n°2064074
nisalon_ca​je
Posté le 16-03-2011 à 14:08:32  profilanswer
 

En fait je viens de me rendre compte que même rechercher \ dans la bdd ne fonctionne pas :
Si je fais :

Code :
  1. SELECT * FROM `test` WHERE `nom` LIKE '%\\%'


Je n'obtiens aucune ligne
 
Voici ma bdd :

Code :
  1. --
  2. -- Structure de la table `test`
  3. --
  4. CREATE TABLE IF NOT EXISTS `test` (
  5.   `id` int(11) NOT NULL auto_increment,
  6.   `nom` varchar(100) collate utf8_bin NOT NULL,
  7.   PRIMARY KEY  (`id`)
  8. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=7 ;
  9. --
  10. -- Contenu de la table `test`
  11. --
  12. INSERT INTO `test` (`id`, `nom`) VALUES
  13. (1, 'a\\b'),
  14. (2, 'a\\\\b'),
  15. (3, 'a\\\\\\b'),
  16. (4, 'a\\\\\\\\b'),
  17. (5, 'a\\\\\\\\\\b'),
  18. (6, 'a\\\\\\\\\\\\b');


Message édité par nisalon_caje le 16-03-2011 à 14:16:16

---------------
http://nisalon.labrute.com/
n°2064432
nisalon_ca​je
Posté le 17-03-2011 à 15:06:32  profilanswer
 

personne ? :(


---------------
http://nisalon.labrute.com/
n°2064478
boomy29
PSN: tintine29
Posté le 17-03-2011 à 19:20:25  profilanswer
 

test un ^  
cela enlevé le critère spécial je crois  
 
SELECT * FROM `test` WHERE `nom` LIKE '%^\%'
 
dans le style  
 
peut etre  
 
SELECT * FROM `test` WHERE `nom` LIKE '%^\^\%'
 
sinon faire une cherche pour savoir quel caractère permet d'enleve le fait que \ soit considere comme un caractère spécial  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  LIKE et antislash

 

Sujets relatifs
Algorythme de recherche google-likeGros problème d'antislash et quote
LIKE dans une Requête paramétrée ACCESSInserer une icône "i like this" sur mon site
[MySQL/PHP] Précision du Like '%valeur%' ??[MySQL]Group Concat & Like
Choix de langage pour une application "widget-like"Jointure 'LIKE' SQL => BO
Intégrer réseau social, digg-like & blogSQL OR LIKE ..
Plus de sujets relatifs à : LIKE et antislash


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR