Bonsoir à tous
Sous Oracle 10g
J'ai un problème avec l'utlisation du NLS_SORT
Voici un debut de doc : ==>Doc Oracle NLS_SORT
Je cherche à Trier et Identifier "Müller" et "MUELLER" comme la meme chaine de caractère
L'exemple donné par Oracle est celui la avec GROSSE et Große
Normalement en Allemagne le nom Müller et Mueller est considéré comme identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 SQL> CREATE TABLE test1(word VARCHAR2(12)); SQL> INSERT INTO test1 VALUES('GROSSE'); SQL> INSERT INTO test1 VALUES('Große'); SQL> INSERT INTO test1 VALUES('große'); SQL> SELECT * FROM test1; WORD ------------ GROSSE Große große Perform a case-sensitive search for GROSSE as follows: SQL> SELECT word FROM test1 WHERE word='GROSSE'; WORD ------------ GROSSE Perform a case-insensitive search for GROSSE using the NLS_UPPER function: SELECT word FROM test1 WHERE NLS_UPPER(word, 'NLS_SORT = XGERMAN') = 'GROSSE'; WORD ------------ GROSSE Große große
Mais j'ai beau triturer le NLS_SORT="XGERMAN_XX" sans succes pour trier et identifier "Müller" et "MUELLER" comme la meme chaine de caractères
Que faut il modifier à la requete suivante pour que "Müller" = "MUELLER"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT 1 FROM dual WHERE NLS_UPPER('MUELLER', 'NLS_SORT = XGERMAN') = NLS_UPPER('müller', 'NLS_SORT = XGERMAN');
Partager