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

SQL Oracle Discussion :

Opérateur LIKE Oracle 9i versus 10g


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 26
    Par défaut Opérateur LIKE Oracle 9i versus 10g
    J'ai un collègue qui rencontre un problème bizarre :

    dans une table T1, il y a un champ C1 qui contient la valeur : 'toto ' ( cest-à-dire 'toto' suivi de plusieurs caractères espace)

    La requête (avec un seul espace à la suite de la chaine 'toto') :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM T1 WHERE C1 LIKE 'toto '
    fonctionne sans pb aveC SQL Server et Oracle 9i, mais pas avec Oracle 10g 64bits

    Avez-vous une idée de ce qui pourrait entrainer une différence de comportement de l'opérateur LIKE entre Oracle 9 et 10 ?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Par défaut
    S'il y a plusieurs espaces dans un cas et un seul dans l'autre, pourquoi est-ce que ça marcherait ? Tu ne serais pas tout simplement en train d'oublier le % ?

  3. #3
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    il est important de nous donner ta version exacte de 9i.

    En effet, dans les "anciennes" versions de 9i (9205 et antérieures) il y avait un bug qui a été corrigé plus tard.


    Le bug ne concerne que CHAR (pas VARCHAR2).
    Note 2883715.8
    Citation Envoyé par Metalink
    Bug 2883715 Wrong results possible from LIKE against a CHAR column with no wildcard
    Description
    Use of LIKE against a CHAR column can return wrong results
    if the pattern does not contain any wildcard characters.
    The problem occurs as the LIKE is converted to an EQUALS
    operation but the blank padding semantics are lost.
    (LIKE does not use blank padding comparison semantics)

    eg: Assume column X is a CHAR(10) and contains 'ABC' then
    SELECT * from TAB where X like 'ABC';
    should not return any rows as LIKE should not be using
    blank padding comparison semantics. However with this
    bug it does return a row (incorrectly).

    If the LIKE pattern does contain a wildcard then the LIKE
    works correctly.
    eg: LIKE 'A%BC' would not return the row (correctly).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 26
    Par défaut
    Merci à tous les deux.

    Oui c'est peut-être là le problème.
    On va investiguer pour vérifier ...

Discussions similaires

  1. Oracle RAC en 10g
    Par slefevre01 dans le forum Administration
    Réponses: 16
    Dernier message: 14/09/2008, 12h31
  2. Oracle Entreprise Manager 10g
    Par Tien dans le forum Oracle
    Réponses: 15
    Dernier message: 18/11/2005, 14h57
  3. [Oracle 8i][Agent 10g]Installation de malade !
    Par Fabien Celaia dans le forum Oracle
    Réponses: 4
    Dernier message: 28/09/2005, 08h09
  4. Opérateur Like
    Par clems34 dans le forum PostgreSQL
    Réponses: 10
    Dernier message: 26/08/2005, 16h22
  5. Opérateur like
    Par Troopers dans le forum ASP
    Réponses: 3
    Dernier message: 15/09/2003, 19h19

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