Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/02/2007, 16h23   #1
Invité régulier
 
Inscription : mars 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 32
Points : 8
Points : 8
Par défaut [10gR1] pb case sensitive

Bonjour à tous,
je ne sais pas comment executer un ordre select like sans qu'oracle soit en case sensitive.

mon environement au niveau NLS EST :
nls_comp=ansi;
nls_sort=binary_ci;

Quand je lance la requette :
Code :
SELECT title FROM  asystitlesfr WHERE title LIKE'%Adresse courante%'
j'obtiens :
Citation:
TITLE
--------------------------------------------------------
Adresse courante
Adresse courante
Adresse courante

3 ligne(s) sélectionnée(s).
par contre, quand je lance la requette :
Code :
SELECT title FROM  asystitlesfr WHERE title LIKE'%dresse courante%'
j'obtiens :
Citation:
aucune ligne sélectionnée
comment faire pour que cela fonctionne ?
Je sais qu'en 10gR2, le parametre NLS_COMP=linguistic le permet.

Y a-t-il un équivalent pour la 10gR1 ?

Merci d'avance.
Loïck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 16h29   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
a priori non, tu peux évaluer la chaine en majuscule de chaque coté éventuellement.

PS : merci de penser aux balises à l'avenir
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 16h30   #3
Membre émérite
 
Avatar de Yorglaa
 
Inscription : janvier 2004
Messages : 845
Détails du profil
Informations personnelles :
Âge : 41
Localisation : Suisse

Informations forums :
Inscription : janvier 2004
Messages : 845
Points : 939
Points : 939
tu peux forcer les majuscules dans ton Select avec upper (ou les minuscules avec lower)
Code :
SELECT title FROM asystitlesfr WHERE UPPER(title) LIKE '%DRESSE COURANTE%';
__________________
Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

Yorglaa
Yorglaa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 16h32   #4
Membre expérimenté

 
Avatar de NGasparotto
 
Nicolas Gasparotto
Inscription : janvier 2007
Messages : 424
Détails du profil
Informations personnelles :
Nom : Nicolas Gasparotto

Informations forums :
Inscription : janvier 2007
Messages : 424
Points : 500
Points : 500
Un exemple ici

Le plus simple devrait tout de même de mettre la fonction upper() de chaque côté.

Nicolas.
NGasparotto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 16h36   #5
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Voici une autre piste :
http://www.developpez.net/forums/sho...RIC_BASELETTER
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 16h56   #6
Invité régulier
 
Inscription : mars 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 32
Points : 8
Points : 8
J'aurai bien aimé modifié le select car s'est effectivement le plus simple mais je ne suis pas propriétaire du code ...
N'y a-t-il comme solution que celle qui consiste à upgrader la 10gR1 en 10gR2 ?
Merci
Loïck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2007, 17h04   #7
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par Loïck
N'y a-t-il comme solution que celle qui consiste à upgrader la 10gR1 en 10gR2 ?
La solution que je t'ai proposée ne te conviens pas ? Elle fonctionne à partir de la 9iR2, me semble-t-il.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 15h10   #8
Invité régulier
 
Inscription : mars 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 32
Points : 8
Points : 8
J'ai effectivement essayé de mettre GENERIC_BASELETER mais ça n'a pas résolu le pb du select like.
Si personne n'a d'autre idée, je crois que je vais être obliger de migrer vers une R2 .... sniff ....
Loïck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 15h21   #9
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Je ne comprends pas bien ton problème :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SQL> SHOW release
release 902000400
 
SQL> SELECT * FROM t1 WHERE v = 'Adresse courante';
V
------------------------------
Adresse courante
Adresse courante
Adresse courante
 
SQL> SELECT * FROM t1 WHERE v LIKE '%dresse courante%';
V
------------------------------
Adresse courante
Adresse courante
Adresse courante
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 15h28   #10
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
et avec les expressions régulières il doit y avoir moyen de s'en sortir aussi non ?

une migration pour ça c'est quand même pas mal... ceci étant la R1 c'est pas une gloire
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 15h44   #11
Membre expérimenté

 
Avatar de NGasparotto
 
Nicolas Gasparotto
Inscription : janvier 2007
Messages : 424
Détails du profil
Informations personnelles :
Nom : Nicolas Gasparotto

Informations forums :
Inscription : janvier 2007
Messages : 424
Points : 500
Points : 500
Citation:
Envoyé par Loïck
J'aurai bien aimé modifié le select car s'est effectivement le plus simple mais je ne suis pas propriétaire du code ...
N'y a-t-il comme solution que celle qui consiste à upgrader la 10gR1 en 10gR2 ?
Merci
Pourquoi alors ne pas se retourner vers le propriétaire du code ?
Faire une migration Oracle pour çà, c'est vrai que ca sonne un peu comme vouloir une massue pour enfoncer une punaise... après tout, est-ce une nouvelle fonctionnalité de l'application que vous voulez ? Est-ce que cela a déjà fonctionné auparavant ? etc.

Cela, dit, j'aime bien la remarque de Fred concernant la 10gR1...

Nicolas.
NGasparotto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2007, 16h25   #12
Rédacteur
 
Inscription : décembre 2002
Messages : 2 397
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 397
Points : 3 298
Points : 3 298
Citation:
Envoyé par Loïck
Bonjour à tous,
je ne sais pas comment executer un ordre select like sans qu'oracle soit en case sensitive..
Si l'exemple que vous donnez est rigoureusement exact, ce n'est pas un problème de casse, mais plutôt une bogue...

Quel est le type de votre colonne TITLE ?
Pomalaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2007, 08h57   #13
Invité régulier
 
Inscription : mars 2005
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 32
Points : 8
Points : 8
Pour répondre à Pomalaix, le type du champ TITLE est CHAR, donc, pas un format extravagant .....
Loïck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h04.


 
 
 
 
Partenaires

Hébergement Web