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

Langage SQL Discussion :

[MySQL 5] [Débutant] Question rapide sur le formatage de données


Sujet :

Langage SQL

  1. #1
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut [MySQL 5] [Débutant] Question rapide sur le formatage de données
    Bonjour,

    Existe t il une fonction dans sql qui permette d'enlever les guillemets simples d'un texte.

    J'ai mon log4j qui me sort un texte formaté type sql mais parfois le message d'erreur log4j contient des caracteres 'interdits' utilisés dans mysql.

    Genre : pxObjClass ='class.domain.log4j'


    Merci pour vos reponses
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  2. #2
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    je sais qu'en Oracle il y a la fonction donnera en sortie :
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  3. #3
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Selon le tableau des fonction (Fonctions de chaînes de caractères), REPLACE est supporté par MySQL, non ?
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  4. #4
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    malheureusement ca me met le texte seulement
    replace(...)

    j'utilise mysql 5
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  5. #5
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    C'est bizarre on dirait que la fonction replace ne marche pas dans un insert into values ...

    insert into A (a,b,c) values (replace(je t'aime,',"),
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    En SQL,
    1. tu dois encadrer tes chaînes de caractères par des quotes,
    2. les quotes dans une chaîne de caractères doivent être dédoublées afin d'être considérées comme des caractères et non des délimiteurs,

    Donc la chaîne "Je t'aime" s'écrit en SQL : 'Je t''aime',
    Et la quote s'écrit : '''' (une double quote, encadrées de 2 quotes délimiteurs)

    Teste le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SQL> CREATE TABLE TEST (
      2  libe VARCHAR2 (32));
     
    Table créée.
     
    SQL> INSERT INTO TEST VALUES (REPLACE('je t''aime', '''', '"'));
     
    1 ligne créée.
     
    SQL> SELECT * FROM TEST;
     
    LIBE
    --------------------------------
    je t"aime
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  7. #7
    Membre averti
    Avatar de Konrad Florczak
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 242
    Points : 336
    Points
    336
    Par défaut
    non le probleme c'est que la partie n'arrive pas sous cette forme mais sous la forme Et c'est bien mon probleme...

    Voila ce que me renvoi phpmyadmin (cf screenshot) quand je mets une ligne sortant de log4j dans la base de donnee pour la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into log4j (time,warning,class,message,environment,server_name,id) values ( '2006-11-01','WARN ','         engine.database.DatabasePreparedStatement',REPLACE('Database operation's took more than the threshold of 500 ms: 848.0139 ms','''','-'),'SIT','DUBEPAP1',NULL);
    Images attachées Images attachées  
    Avant de poster consultez la recherche avancée du forum
    N'oubliez pas le bouton

    Formation LaTeX et Outils Pratiques

    C'est ce que nous pensons déjà connaître qui nous empêche souvent d'apprendre.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/08/2008, 10h59
  2. question rapide sur les warning
    Par yan dans le forum C++
    Réponses: 12
    Dernier message: 18/06/2008, 09h48
  3. Petite question rapide sur allocation mémoire
    Par adn013 dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2007, 16h10
  4. Question rapide sur une requette simple
    Par batoubat dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/06/2006, 18h39
  5. Question rapide sur bases de donées
    Par ShortcutZ dans le forum MFC
    Réponses: 3
    Dernier message: 13/09/2005, 15h27

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