Page 1 sur 1

Selection avec une condition insensible à la casse

Posté : 07 mars 2007, 14:48
par orgerix
Bonjour,

J'aimerai savoir s'il est possible de faire une requet de ce type :

SELECT * FROm table WHERE champ='a',

Et qui récupère toutes lignes avec a ou A dans 'champ'.

EN gros, faire que la condition est insensible à la casse :D

IL y a bien la solution de mettre tout en casse basse pour chaque enregistrement, mais vu que ma BDD est déjà formé, je préférerais éviter...

Posté : 07 mars 2007, 15:24
par Ryle
Tu peux le faire en utilisant UPPER() ou LOWER() pour comparer ton champ, mais je pense qu'il est plus judicieux de l'utiliser dans un update sur ta base si cela n'impacte pas plus que ca son fonctionnement.

Code : Tout sélectionner

SELECT ... FROM table WHERE LOWER(champ)='a'
Le plus optimisé étant donc de mettre en minuscule (ou majuscule) toutes les données de ton champ (et de t'assurer que les prochaines respecteront ce format)

Code : Tout sélectionner

UPDATE table SET champ = LOWER(champ); SELECT ... FROM table WHERE champ='a';

Posté : 07 mars 2007, 17:01
par orgerix
Merci beaucoup.

Posté : 07 mars 2007, 17:23
par mere-teresa
Modération :
orgerix, si tu as une autre question ouvre un nouveau sujet,
cela te permettra d'avoir plus de réponses.

En plus, tu pourras mettre [Résolu] dès que ton problème évoqué ici sera réglé.

Merci de prendre le temps de lire les règlements.

Posté : 07 mars 2007, 17:25
par orgerix
Voila, voila, c'est fait.