Bonjour,
Je voudrais savoir s'il exite une option à inclure lors d'une recherche pour éviter que oracle soit sensible à la casse.
En effet un "select * from table where nom = JOhn" ne me trouvera pas l'enregistrement où le nom est égale à john.
Bonjour,
Je voudrais savoir s'il exite une option à inclure lors d'une recherche pour éviter que oracle soit sensible à la casse.
En effet un "select * from table where nom = JOhn" ne me trouvera pas l'enregistrement où le nom est égale à john.
Tu peux toujours faire :
Attention néanmoins si ta colonne nom est indexée. Dans ce cas il faudra peut-être créer un index fonctionnel (=index sur une fonction).
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from table where upper(nom) = 'JOHN';
Un truc déjà vu sur le forum
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE TABLE TEST (a VARCHAR2(10)); INSERT INTO TEST VALUES('toto'); INSERT INTO TEST VALUES('TOTO'); INSERT INTO TEST VALUES('TotO');
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT * FROM TEST WHERE a='TOTO'; A ---------- TOTO
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ALTER SESSION SET NLS_COMP=ANSI; ALTER SESSION SET NLS_SORT=GENERIC_BASELETTER; SELECT * FROM TEST WHERE a='TOTO'; A ---------- toto TOTO TotO
More Code : More Bugs. Less Code : Less Bugs
Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP
Attention, il semble que cette méthode ne fonctionne qu'à partir de la 9i :
http://www.developpez.net/forums/vie...hlight=nlscomp
Je suis en 9i ca tombe bien, j'ai utilisé ta solution y'a pas plus simple je pense.Envoyé par plaineR
Merci a vous.
Partager