Come prendere gli ultimi quattro caratteri da un varchar?


92

Sto cercando di prendere gli ultimi quattro caratteri solo da un campo varchar. Tutte le file hanno lunghezze diverse. Quale funzione dovrei usare per ottenere questo risultato?

Risposte:



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

LENGTHrestituisce la lunghezza della stringa e SUBSTRrestituisce 4 caratteri dalla "lunghezza della posizione - 4"


2
Benvenuto in SO e grazie per aver pubblicato la risposta. Si prega di considerare l'aggiunta di contesto al codice e anche la formattazione del codice.
Richard Erickson

2
C'è un bug fuori uno qui. Dovrebbe essere SUBSTR(column, LENGTH(column) - 3, 4). Se la lunghezza è 4, dobbiamo iniziare dalla posizione 1 e prendere 4 caratteri.
Karl



9

Per Oracle SQL, SUBSTR(column_name, -# of characters requested)estrarrà gli ultimi tre caratteri per una determinata query. per esempio

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

Solo per notare, questo non funziona per ms sql / sql-server, giusto?
ScottFoster1000

-3

soluzione testata su 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');
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.