Fonction MID sous SQL SERVER.

m2rtech Messages postés 239 Date d'inscription mercredi 9 octobre 2002 Statut Membre Dernière intervention 20 février 2012 - 29 janv. 2006 à 19:48
cs_chup Messages postés 21 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 26 juillet 2007 - 3 mars 2006 à 22:10
Salut,

Je cherche l'equivalent de la fonction MID d'ACCESS qui marche pour
extraire un chiffre en nieme position dans un nombre sous SQL SERVER.

(ex: recherche du chiffre à la position 2 dans le nombre 123456) .

Je sais que cette fonction est optimisée pour le texte, mais voilà elle
marche sous ACCESS même pour les nombres. Par contre elle n'existe pas
sous SQL SERVER. L'équivalent est la fonction SUBSTRING. Mais cette
derniere n'accepte QUE les chaines de caractères comme son nom
l'indique.



merci de votre aide.
A voir également:

5 réponses

cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
29 janv. 2006 à 20:11
Ta question serai plus approprié sur le forum SQL

Pascal Laurençon
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
29 janv. 2006 à 20:39
C'est une combinaison de Right et LEFT qui sont deux commande SQL
exemple
"RIGHT(LEFT((NomDuchamps)," & CStr(PositionDepart) & "),"& Cstr(Longueur) &")"

RIGHT(LEFT(|CHAMPS|),$POSITION),$LONGUEUR)
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
29 janv. 2006 à 21:00
SI DONNEES = VOICIMONTEXTE
Left(DONNEES,5) DONNERA VOICI
RIGHT(Left(DONNEES,5),2) donnera CI

Juste faites-le
0
cs_Stephane33 Messages postés 630 Date d'inscription samedi 15 février 2003 Statut Modérateur Dernière intervention 9 octobre 2011 1
29 janv. 2006 à 21:01
OUPS DESOLE j'ai répondu trop vite, je n'avais pas vu que c'etait pour un nombre...

Juste faites-le
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chup Messages postés 21 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 26 juillet 2007
3 mars 2006 à 22:10
Slt,

tu peux convertir ton champ nombre en texte et ainsi utiliser la fonction substring comme suit :

SUBSTRING(CONVERT(nvarchar(100), 123456), 2, 1)

Nicolas
0
Rejoignez-nous