Comment prendre les quatre derniers caractères d'un varchar?


93

J'essaie de prendre les quatre derniers caractères uniquement à partir d'un champ varchar. Toutes les lignes sont de longueurs différentes. Quelle fonction dois-je utiliser pour accomplir cela?

Réponses:



20
SUBSTR(column, LENGTH(column) - 3, 4)

LENGTHrenvoie la longueur de la chaîne et SUBSTRrenvoie 4 caractères à partir de "la longueur de la position - 4"


2
Bienvenue à SO et merci d'avoir publié la réponse. Pensez à ajouter du contexte à votre code et à le formater.
Richard Erickson

2
Il y a un bug ponctuel ici. Devrait être SUBSTR(column, LENGTH(column) - 3, 4). Si la longueur est de 4, nous devons commencer à la position 1 et prendre 4 caractères.
Karl



9

Pour Oracle SQL, SUBSTR(column_name, -# of characters requested)extraira les trois derniers caractères d'une requête donnée. par exemple

SELECT SUBSTR(description,-3) FROM student.course;

Juste pour noter, cela ne fonctionne pas pour ms sql / sql-server, non?
ScottFoster1000

-3

solution testée sur hackerrank ....

select distinct(city) from station
where substr(lower(city), length(city), 1) in ('a', 'e', 'i', 'o', 'u') and substr(lower(city), 1, 1) in ('a', 'e', 'i', 'o', 'u');
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.