Comment returnner l'avant-dernier caractère dans une string en utilisant SQL

J'essaye de renvoyer seulement l'avant dernier caractère d'une string en utilisant MS SQL.

J'ai essayé d'utiliser MID et Subssortingng mais la longueur de la string n'est pas toujours la même pour la colonne que j'essaie de returnner, donc je ne peux pas le faire de cette façon.

Alors dis que je returnne les codes de quelque chose:

Code '1234' 

Je veux juste returnner '3' à partir de ce code.

Comment puis-je faire ceci? Bravo à l'avance 🙂

Utilisez SUBSTRING et LEN . LEN vous donne la longueur de la string, puis soustrayez 1 pour get le caractère précédent:

 SELECT SUBSTRING(Code, LEN(Code)-1,1) 

Que diriez-vous

 select left(right(code, 2), 1) from MyTable; 

Vous devrez peut-être valider que la string a réellement au less 2 caractères, cependant.

SqlFiddle ici