begin process at 2012 05 27 00:52:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Débutant(s)

 > 

UPDATE un morceaux de chaine


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

UPDATE un morceaux de chaine

vendredi 16 juillet 2010 à 14:04:39 | UPDATE un morceaux de chaine

Nitrakz

Bonjour à tous,

Je voulais savoir si il était possible de faire un UPDATE uniquement sur un morceaux de chaine, je m'explique:
J'ai un champ qui contient une str avec par exemple: "12345488 45421 V" et je doit UPDATE la table pour mettre le champ a: "12345488 45421 A" (Pour une histoire de changement de statut.

Pour le moment j'utilise une fonction ou j'extraie la chaine, je la modifie mais je suppose que l'on doit pouvoir le faire directement avec une requête.

Sachant que le caractère a modifier est toujours celui le plus a gauche,
Voila, merci la horde !

There is no place like 127.0.0.1 /
vendredi 16 juillet 2010 à 15:06:32 | Re : UPDATE un morceaux de chaine

nhervagault

Administrateur CodeS-SourceS
Salut,

C'est surement possible

Example non testé
Code :
UPDATE matable
SET etat = SUBSTRING(etat, 12,10) + 'V'
WHERE etat = 'ABC .... A'
vendredi 16 juillet 2010 à 15:11:33 | Re : UPDATE un morceaux de chaine

Nitrakz


Ma chaine a une taille variable donc je peut pas utiliser de valeur fixe.

There is no place like 127.0.0.1 /
vendredi 16 juillet 2010 à 15:17:12 | Re : UPDATE un morceaux de chaine

coq

Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

Si on parle bien de SQL Server, c'est possible assez facilement avec la fonction STUFF.

Si comme tendent à le montrer les exemples on parle bien du caractère le plus à droite et pas le plus à gauche, ça peut donner quelque chose de ce genre :
Code :
STUFF(@Str, LEN(@Str), 1, N'A')

Attention, ici nous utilisons la fonction LEN pour déterminer la position du dernier caractère, et cette fonction ne compte pas les espaces en fin de chaine (http://blogs.codes-sources.com/coq/archive/2009/12/08/sql-server-et-la-gestion-des-espaces-en-fin-de-cha-ne-ou-test-test.aspx).

Si on parle de celui de gauche alors c'est encore plus simple :
Code :
STUFF(@Str, 1, 1, N'A')



/*
coq
MVP Visual C#
CoqBlog
*/
vendredi 16 juillet 2010 à 15:20:09 | Re : UPDATE un morceaux de chaine

coq

Administrateur CodeS-SourceS
Requiert au minimum SQL Server 2005, si mes souvenirs sont bons.


/*
coq
MVP Visual C#
CoqBlog
*/
vendredi 16 juillet 2010 à 15:47:04 | Re : UPDATE un morceaux de chaine

Nitrakz

Je suis bien sous SQL server 2005 ou 2008.
Je viens d'essayer et ca fonctionne du feu de dieux ! Merci !

Super cette petite fonction STUFF


There is no place like 127.0.0.1 /
vendredi 16 juillet 2010 à 16:20:59 | Re : UPDATE un morceaux de chaine

coq

Administrateur CodeS-SourceS
Oui, à part son nom :p


/*
coq
MVP Visual C#
CoqBlog
*/


Cette discussion est classée dans : chaine, champ, update, morceaux


Répondre à ce message

Sujets en rapport avec ce message

Champ texte update sql server 2008 [ par loic2810 ] Bonjour, Je crée actuellement un site sous asp /sql server 2008 via dreamweaver 8 et lorsque je crée une page d'update mes champs texte ( valeurs par Update d'un champ d'une table vers un autre champ... [ par deejoss ] Bonjour a tous, je suis devant un problème : je cherche a mettre à jour une table avec un id d'une autre table : je souhaite renseigner dans la table Update table pour unicité de champ [ par frlobe ] Bonjour je cherche à modifier un champ pour obtenir l'unicité de ses valeurs. J'ai tenté ALTER TABLE mais SQL me dit toujours que j'ai une erreur de s Remplir le champ automatiquement [ par wissweb ] Bonjour à tous. Première demande d'aide. J'ai une basse de donnée qui fonctionne très bien sauf que, lorsque je rempli le formulaire je cherche comm Select * from * [ par ziffox ] Bonjour à tous, Je cherche a faire une requête qui parcourt toute la base, et qui m'affiche le nom de la table et du champ qui contient une valeur. champ somme dans requete [ par elnico16 ] bonjour, je tente deséspérement de faire une requete avec un champ qui calcule la somme de mon champ (Montant ) mais cela ne marche pas : message d' comparaison champ table et champ saisi de formulaire [ par elnico16 ] bonjour, je fais des requetes de statistiques et je voudrais avoir mes commandes concernées par les dates saisies au préalable dans un formulaire j'a Champ vide [ par trecylafierte ] Bonjour Escusez moi,je n'ai nullement pour intention d'enfreindre les lois mais j'ai cherché la réponse à mon probléme mais en vain. Voilà,jai ecrit u changer type smallint en int [ par cudenetf ] Bonjour, j'ai fait une base de données avec certains champ primary key en smallint d'autres tables ont pour clé etrangere ce champ aujourd'hui , je me Problème double requête même table, même champ [ par xxiv ] Bonjour, j'ai un problème que pour avoir le résultat voulu en une seul requête. Les deux table concernées [u]Notices[/u] notice_id || tit1 || inde


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 2,340 sec (3)

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