begin process at 2010 02 09 23:55:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Procédures Stockées

 > 

lecture de chaine de caractère


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

lecture de chaine de caractère

vendredi 13 juin 2008 à 13:03:41 | lecture de chaine de caractère

anspauldou

Bonjour

Je voudrai un exemple de script devant me permettre de lire et me renvoyer une chaine de caractère contenue dans une variable dont voici un exemple

@Var1 = '2000 = 3000 * 4005'

Je veux pouvoir extraire 2000 puis = puis 3000 etc

Merci d'avance
vendredi 13 juin 2008 à 22:55:28 | Re : lecture de chaine de caractère

yann_lo_san

Salut,

Il existe certainement des fonctions pour faire ça, mais moi je l'ai fait à la main.
J'ai mis le code dans une fonction de table inline pour pouvoir l'appeler facilement.
Le table de retour contient une colonne compteur pour pouvoir extraire le champ de n'importe quelle position.
(table inline veut dire que c'est comme un tableau dans des language comme c++ ou c#)


-- APPEL DE LA FONCTION :

SELECT * FROM splitParBlanc('2000 = 3000     * 4005')


-- RESULTAT :

t_id             t_str
-------------------
1                2000
2                =
3                3000
4                *
5                4005

-- LA FONCTION :


CREATE FUNCTION splitParBlanc
(
 @strToSplit varchar(200)

RETURNS  @tbl_array table(t_id int identity(1,1), t_str varchar(35))
AS 
BEGIN
 
 -- compteur boucle
 DECLARE @i int
 SET @i = charindex(' ', @strToSplit)
 
 -- pour taille d'extraction
 DECLARE @increment int
 SET @increment = 0
 
 WHILE( @i > 0 )
 BEGIN
    -- départ de l'extraction
    DECLARE @start int
    SET @start = charindex(' ', @strToSplit, @increment+1)
    SET @start = @start - (@start - @increment)
 
    -- pour calculer la taille de l'extraction
    SET @increment =  charindex(' ', @strToSplit, @start+1)
 
    -- stocke valeur si champ non vide
    IF( substring(@strToSplit, @start+1, @increment- @start-1) <> ' ' )
         INSERT INTO @tbl_array(t_str)
         SELECT substring(@strToSplit, @start+1, @increment- @start-1)
 
    -- pour prochaine boucle ou fin
    SET @i = charindex(' ', @strToSplit, @increment+1)
  
    -- stocke le dernier bloc
    IF( @i <= 0 )
         INSERT INTO @tbl_array(t_str)
         SELECT substring(@strToSplit, @start+(@increment- @start)+1, len(@strToSplit)-@start-1)
   END

   RETURN
 
END

 



Cette discussion est classée dans : lecture, caractère, chaine, exemple


Répondre à ce message

Sujets en rapport avec ce message

lecture de chaine de caractère [ par anspauldou ] Bonjour   Je voudrai un script qui me permettra d'incrire dans chaque colonne de ma table une chaine de caractère '3000 = 2000 * 1000' c'est à dire in Conversiond'une chaine de caractère en number [ par stephsk09 ] Bonjour, je pose cette question car j'ai beau retourner le problème dans tout les sens je ne trouve pas de solution.Voila mon problème,dans une procéd rechercher une chaine de caractère dans une page HTML [ par ramzi2002 ] bonjour, comment rechercher une chaine de caractère dans une page HTML stocker dans une base de donné mdb ou sql? rechercher une chaine de caractere en vb [ par hervegael ] Bonjour a tous , s'il vous plait j'aimerai savoir comment faire pour RECHERCHER UNE CHAINE DE CARACTERE dans une base de donnée ACCESS via le textbox chaine de connexion [ par dimabab ] bonjour tout le monde je développe une application d'importation et exportation de fichier csv vers BD sql server ,et quand je voulais la rendre exéc methode de synchronisation en php (threads) [ par hada1984 ] slt tous le monde je cherche une methode de synchronisation en php par exemple threads et merci de me donner un exemple réel en utilisant une base d boite de dialogue utilisateur postgre [ par gr43 ] Salut,Cela fait un petit moment que je cherche le caractère équivalent de & à Oracle sous Postgre en vain. Ce caractère permet sous oracle d'ouvrir un problème d'opérande dans le résultat de ma chaine sql [ par beegeezzz ] Bonjour tout le monde,J'ai un petit souci avec cette chaine SQL :SELECT NOTEFROM inscrits_enWHERE MATRICULE_ETIN (SELECT DISTINCT MATRICULE_ET, NOM_ET Recherche globale d'une chaine dans un schéma [ par mr_foxy ] Bonjour, Je cherche une requête permettant de parcourir toutes les tables d'un schéma à la recherche d'une chaine de caractère.En fait, je voudrais en Liste des mots d'une colonne [ par Yenapa ] Bonjour a tousJe souhaite construire une liste des mots à partir d'une tableN'ayant rien trouvé sur le net pour faire ça, je pense devoir utiliser une


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales