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
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager