Recherche du bon pattern regex avec mysql

Recherche du bon pattern regex avec mysql - SQL/NoSQL - Programmation

Marsh Posté le 19-07-2010 à 14:49:02    

Bonjour,
 
Je voudrai selectionner d'une table les noms ne comportant pas de minuscule. J'ai essayé la requête suivante mais ca ne fonctionne pas  :cry: :
 
SELECT id, login_name, name FROM `users` WHERE name REGEXP '[^a-z]';
 
Est-ce que quelqu'un peut m'indiquer où est l'erreur, ou me guider pour trouver le bon pattern?
 
Merci d'avance.

Reply

Marsh Posté le 19-07-2010 à 14:49:02   

Reply

Marsh Posté le 19-07-2010 à 20:07:34    

REGEXP ne respecte pas la casse sauf en utilisant BINARY.  
En plus il faut utiliser ^ et  $ pour indiquer le début et la fin de la chaine.
 
Ceci devrait fonctionner:
 

Code :
  1. SELECT id, login_name, name FROM users WHERE name REGEXP BINARY '^[^a-z]+$'


Reply

Marsh Posté le 20-07-2010 à 08:08:17    

Bonjour,
 
Merci à toi, ca marche nickel  :jap:  . Je connaissais pas le mot clé BINARY.

Reply

Marsh Posté le 21-07-2010 à 17:04:52    

sinon, ca ca devrait marcher aussi...

Code :
  1. SELECT id, login_name, name FROM `users` WHERE name = UPPER(name);


 


---------------
>>feed-back<<  >>a vendre<<
Reply

Marsh Posté le 22-07-2010 à 07:56:28    

garoju a écrit :

sinon, ca ca devrait marcher aussi...

Code :
  1. SELECT id, login_name, name FROM `users` WHERE name = UPPER(name);


 


Euh non ... Elle récupère les "name" contenant des caractères minuscules. Et UPPER() ce ne serait pas une fonction qui convertit une minuscule en majuscule? Parce que là je veux récupérer les noms ne contenant que des majuscules mais pas transformer ceux qui contiennent des minuscules en majuscules.
Merci à toi quand même  :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed