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

MS SQL Server Discussion :

[sqlserver2000]operations sur chaine


Sujet :

MS SQL Server

  1. #1
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut [sqlserver2000]operations sur chaine
    Bonjour,
    J'ai une table avec un champ de type ntext, qui contient le source code de pages HTML. Je souhaite faire un select sur tous les enregistrements mais seulement recuperer le texte se trouvant entre les balises <body></body>. Comment puis - je faire cela ???
    merci

  2. #2
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    je pense que quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select substring(MonChamp,PATINDEX ( '%<BODY>%' , MonChamp),
       PATINDEX ( '%</BODY>%' , MonChamp )) 
    from MaTable
    devrait convenir non ?

  3. #3
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    J'ai fais un truc du genre:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    DECLARE @EndBody as int
    DECLARE @StartBody as int
    select @StartBody = patindex('%<body%>%',text)from formattedtext where formattedtextid =  255
     
    SELECT @EndBody = CHARINDEX('>', text, 30)from formattedtext where formattedtextid =  255
    select substring(text,@StartBody + (@EndBody - @StartBody + 1),
     (charindex('</body>',text) - @EndBody - 1) ) from formattedtext where formattedtextid=255
    (<body> peut contenir des tas de truc et il faut donc en tenir compte, ce que j'ai fais)

    Le GROS PROBLEME : substring est limite a 8000 caracteres,apres ca plante! Comment je peux faire du coup, car mon champs fais bien sur beaucoup plus que 8000 caracteres!!!!

  4. #4
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Je viens de voir quelque chose qui peut être intéressant, il s'agit de la commande READTEXT en trasact SQL, peut être que ceci peut aider mais je n'ai pas tester :

    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
     
    DECLARE @ptrval varbinary(16)
    DECLARE @debut int
    DECLARE @longueur int
     
    SELECT @ptrval = TEXTPTR(MonChamp) 
       FROM Matable 
     
    SELECT @debut = PATINDEX('%<BODY%>%',MonChamp) 
       FROM Matable      
     
    SELECT @longueur = PATINDEX('%<BODY%>%',MonChamp) - PATINDEX('%</BODY>%',MonChamp)
       FROM Matable 
    READTEXT Matable.MonChamp @ptrval @debut @longueur
    GO
    Je ne suis pas sur du tout , mais je pense que pour biaiser la taille limite du substring ceci peut aider.

  5. #5
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Syntaxe propre à SQL SERVER => Forum SQL SERVER et non Langage SQL.

    Je déplace dans le forum concerné.
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

Discussions similaires

  1. [XSLT] operation sur chaines de caractere
    Par jeb001 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 25/01/2008, 09h14
  2. Operation sur chaine de caractere
    Par BatuBou dans le forum C
    Réponses: 12
    Dernier message: 30/12/2007, 15h23
  3. operation sur chaine de caracteres
    Par aliboubou dans le forum Access
    Réponses: 11
    Dernier message: 11/01/2007, 11h36
  4. [sql server2000]operation sur des chaines
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/05/2006, 15h58
  5. [Débutant][String] Opérations sur une chaîne
    Par gandalf_le_blanc dans le forum Général Java
    Réponses: 8
    Dernier message: 08/06/2004, 11h59

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