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

Sybase Discussion :

substring sur champ de type text


Sujet :

Sybase

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut substring sur champ de type text
    Bonjour,

    je cherche a extraire une partie seulement d'une colonne de type TEXT; or la fonction substring ne peut pas etre utilisée sur ce type de donnée

    J'ai utilisé la fonction readtext qui me permet d'obtenir les données que je veux mais je n'ai pas réussi a utiliser readtext comme "champ" d'un select...

    en fait, mon besoin est de crée une requête qui retourne plusieurs champs dont un de ces champs serai le résultat d'un substring sur un colonne de type text.

    si quelqu'un a une idee sur ce qu'il serait possible de faire, il sera le bien venu car pour l'heure je commence a désespérer

    Par avance merci pour votre aide
    jarod

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Les champs TEXT ne permettent pas d'opération SQL directement. Le principe est que tout traitement se fait dans le code client.

    Si tu es en 12.5 ou en 15 tu pourrais faire un convert(varchar(16384), champs_text) et faire un substring dessus. Evidemment il ne faut pas que tu ai besoin de données au delà des premiers 16K du champ texte.

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par mpeppler
    Les champs TEXT ne permettent pas d'opération SQL directement. Le principe est que tout traitement se fait dans le code client.

    Si tu es en 12.5 ou en 15 tu pourrais faire un convert(varchar(16384), champs_text) et faire un substring dessus. Evidemment il ne faut pas que tu ai besoin de données au delà des premiers 16K du champ texte.

    Michael
    C'est un peu ce que je craignais suite a mes recherches sur le net
    en tout cas, merci pour cette réponse/solution.

    malheurseument, j'utiliser un champs texte pour stocker des messages XML extrait d'une application dont je voudrais utiliser certaine information pour generer des reports.
    et j'ai quelques craintes sur le fait de tronquer les messages a 16k...
    ou alors il faut que je place tous les champs dont j'ai besoin en debut de message

    merci encore.
    jarod

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Suivant la version de Sybase (12.5., 15) il reste encore la possiblité d'utiliser les fonctionalité XML directement pour extraire l'information voulue.

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

  5. #5
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par mpeppler
    Suivant la version de Sybase (12.5., 15) il reste encore la possiblité d'utiliser les fonctionalité XML directement pour extraire l'information voulue.

    Michael
    j'ai mis en place une solution avec conversion en varchar et cela fonctionne plus ou moins pour le moment

    mais es ce que tu pourrais me donner plus de détail (méthode & fonction) sur la solution via XML, cela pourrait tres fortement m'intéresser.

    merci par avance pour ton aide.
    cordialement
    jarod

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Je ne suis pas un grand spécialiste XML...

    Voici quelques exemples pris dans les manuels:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select xmlextract('/bookstore/book[price=55        
       | author/degree/[@from="Harvard"] ]/title'
         text_doc )
    from sample_docs
    ------------------------------------------------------ 
    <title>History of Trenton</title> 
    <title>Trenton Today, Trenton Tomorrow</title>
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    select xmlextract('//row[price<10 | city="Boston" ]/pub_id',     
         text_doc) from sample_docs2>  
    ------------------------------------   
    NULL            
     
    <pub_id>0736</pub_id>
     
    <pub_id>0736</pub_id>   
    <pub_id>0877</pub_id>   
    <pub_id>0736</pub_id>   
    <pub_id>0736</pub_id>
    Le manuel (en anglais) est ici: http://infocenter.sybase.com/help/in...xmlb/title.htm

    Michael
    Michael Peppler
    Membre de TeamSybase - www.teamsybase.com

    "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson

Discussions similaires

  1. [AC-2003] Ouvrir un lien hypetexte en cliquant sur champ de type texte
    Par bibicalou dans le forum IHM
    Réponses: 1
    Dernier message: 17/11/2010, 16h40
  2. Champs input type="text" n'apparait pas sur une image
    Par sofuzion dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 04/06/2009, 09h16
  3. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48
  4. [Doublons] Unicité sur un champ de type TEXT
    Par PyRoFlo dans le forum Requêtes
    Réponses: 11
    Dernier message: 01/09/2004, 09h56
  5. Fonction LEFT sur champ de type "text" : méthodes
    Par MatthieuQ dans le forum Langage SQL
    Réponses: 4
    Dernier message: 08/06/2004, 11h15

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