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.

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