none
comment modifier une chaine de caractérs dans sql server 2008?? RRS feed

  • Question

  • SVP aider moi (comment modifier une chaine de caractérs dans sql server 2008)

    la question c'est convertir le numero 021548798 en 02.15.48.79.89 avec un trriger. merci

     

    mercredi 16 juin 2010 00:48

Réponses

Toutes les réponses

  • Bonjour,

    Vous devez utiliser T-SQL dans vos requêtes et ce indépendemment de type d'utilisation que ce soit trigger, procedure ou autre...

    Je vous propose la requête suivante que vous pouvez l'utiliser pour décomposer cette chaine

    SUBSTRING ( value_expression , start_expression , length_expression ) ---> pour décomposer une chaine de caractère
    CONVERT ( data_type [ ( length ) ] , expression [ , style ] )                   ---->pour la conversion

    Donc, on procède comme suit:

    Select SUBSTRING(CONVERT(char(9),021548798),1,2) +'.'+SUBSTRING(CONVERT(char(9),021548798),3,2)+'.'+SUBSTRING(CONVERT(char(9),021548798),5,2)+'.'+SUBSTRING(CONVERT(char(9),021548798),7,2)+'.'+SUBSTRING(CONVERT(char(9),021548798),1,2)

    Tenez moi au courant!!

     

    • Proposé comme réponse Maher Riahi jeudi 17 juin 2010 11:03
    mercredi 16 juin 2010 14:29
  • il y a une autre alternative en utilisant les expressions régulières dans  T-SQL

    http://www.simple-talk.com/sql/t-sql-programming/tsql-regular-expression-workbench/


    PhD - Student
    • Marqué comme réponse Alex Petrescu vendredi 18 juin 2010 13:24
    jeudi 17 juin 2010 11:44
  • Le plus simple à mon avis est d'utiliser le While

     

     

     

    ==>

    sous-chaine = d'abord un substring 2 par 2  ==> Données Initiales

    WHILE ( len(@sous-chaine) =2 ) ==> Conditions de validité

    BEGIN

    ta logique qui consite à faire sous+'.' etc...  ==> Construction de la vraie chaine

    SET  logique d'incrémentation sous-chaine = ?, etc... ==> en gros un i++ 

    ;-)

    Cordialement

    jeudi 15 juillet 2010 09:47