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

Requêtes MySQL Discussion :

Curieux changement de comportement de REGEXP


Sujet :

Requêtes MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    artisan développeur
    Inscrit en
    Juin 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : artisan développeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 29
    Points : 7
    Points
    7
    Par défaut Curieux changement de comportement de REGEXP
    Bonjour à tous,
    Je constate un comportement différent entre l'utilisation d'une regexp directement et via une requête.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT 'un (test)' REGEXP 'un \\(test\\)';
    Renvoie bien 1

    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CREATE OR REPLACE TABLE test (lib TINYTEXT);
    INSERT INTO test(lib) VALUES ('un \\\\(test\\\\)');
    SELECT 'un (test)' REGEXP lib FROM test;
    Renvoie 0 !!!

    Quelqu'un aurait-il une idée de la raison de ce changement de comportement ?
    Une idée pour contourner ?
    Merci

  2. #2
    Futur Membre du Club
    Homme Profil pro
    artisan développeur
    Inscrit en
    Juin 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : artisan développeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 29
    Points : 7
    Points
    7
    Par défaut
    Eh bien ça ne passionne pas les foules le regexp

  3. #3
    Membre confirmé Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Points : 492
    Points
    492
    Par défaut
    A priori, REGEXP attend une expression régulière, pas le nom d'une colonne

  4. #4
    Futur Membre du Club
    Homme Profil pro
    artisan développeur
    Inscrit en
    Juin 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : artisan développeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 29
    Points : 7
    Points
    7
    Par défaut
    Oui mais le REGEXP c'est une chaîne avant tout.
    Et si on enlève les parenthèses, ça fonctionne...

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 763
    Points : 52 554
    Points
    52 554
    Billets dans le blog
    5
    Par défaut
    MySQL est le SGBD le plus bugué au monde....
    Les versions s’enchainent avec de plus en plus de bugs dont certains mettent des années à être résolus.
    À lire : https://sqlpro.developpez.com/tutori...mysql-mariadb/
    Exemple : 14 ans pour corriger un bogue sur l'auto incrément...
    https://bugs.mysql.com/bug.php?id=199

    Ce produit est destiné à des bidouilleurs pas à des professionnels.
    Le fait que tu n'es pas eu de réponse est assez symptomatique... en fait tout le monde s'en fout !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Futur Membre du Club
    Homme Profil pro
    artisan développeur
    Inscrit en
    Juin 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : artisan développeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 29
    Points : 7
    Points
    7
    Par défaut
    Je ne te demande pas ton avis sur mon choix de SGBD mais de l'aide sur le comportement des REGEXP.
    Si tu n'as rien à dire d'intelligent, passe juste ton chemin...

  7. #7
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 281
    Points : 11 737
    Points
    11 737
    Par défaut
    @nenex73 : tu mets juste trop de backslashes dans ton INSERT.

    Quand je fais ça, j'obtiens bien 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO test(lib) VALUES ('un \\(test\\)');
    SELECT 'un (test)' REGEXP lib FROM test;
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  8. #8
    Futur Membre du Club
    Homme Profil pro
    artisan développeur
    Inscrit en
    Juin 2020
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : artisan développeur

    Informations forums :
    Inscription : Juin 2020
    Messages : 29
    Points : 7
    Points
    7
    Par défaut
    Bien vu Antoun.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/04/2010, 15h55
  2. Réponses: 2
    Dernier message: 09/02/2010, 16h43
  3. Réponses: 8
    Dernier message: 10/11/2008, 08h35
  4. Changement de comportement SAMBA après MAJ
    Par Guig74 dans le forum Réseau
    Réponses: 1
    Dernier message: 07/07/2008, 11h50

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