IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[10gR1] pb case sensitive


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    select title from  asystitlesfr where title like'%Adresse courante%'
    j'obtiens :
    TITLE
    --------------------------------------------------------
    Adresse courante
    Adresse courante
    Adresse courante

    3 ligne(s) sélectionnée(s).
    par contre, quand je lance la requette :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select title from  asystitlesfr where title like'%dresse courante%'
    j'obtiens :
    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.

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    a priori non, tu peux évaluer la chaine en majuscule de chaque coté éventuellement.

    PS : merci de penser aux balises à l'avenir

  3. #3
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    tu peux forcer les majuscules dans ton Select avec upper (ou les minuscules avec lower)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select title from asystitlesfr where UPPER(title) like '%DRESSE COURANTE%';

  4. #4
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    Un exemple ici

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

    Nicolas.

  5. #5
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Points : 3 609
    Points
    3 609

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    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

  7. #7
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Points : 3 609
    Points
    3 609
    Par défaut
    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.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    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 ....

  9. #9
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    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 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Je ne comprends pas bien ton problème :
    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
    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

  10. #10
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    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

  11. #11
    Membre confirmé Avatar de NGasparotto
    Inscrit en
    Janvier 2007
    Messages
    421
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 421
    Points : 603
    Points
    603
    Par défaut
    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.

  12. #12
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Points : 8 079
    Points
    8 079
    Par défaut
    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 ?

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Pour répondre à Pomalaix, le type du champ TITLE est CHAR, donc, pas un format extravagant .....

Discussions similaires

  1. [Oracle] Enlever le case sensitive???
    Par osmoze dans le forum Oracle
    Réponses: 21
    Dernier message: 18/07/2007, 09h40
  2. [MySQL] Case sensitive login
    Par hayaet dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/07/2007, 13h39
  3. base de registre et Case Sensitive
    Par freddyboy dans le forum Oracle
    Réponses: 5
    Dernier message: 06/02/2007, 10h45
  4. Désactiver la case sensitive
    Par soad dans le forum NetBeans
    Réponses: 4
    Dernier message: 30/08/2006, 19h59
  5. [Debat]case sensitive : pourquoi faire ?
    Par Rincevent76 dans le forum Langage
    Réponses: 53
    Dernier message: 24/04/2006, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo