Bagaimana cara mengambil empat karakter terakhir dari varchar?

93

Saya mencoba mengambil empat karakter terakhir hanya dari bidang varchar. Semua baris memiliki panjang yang berbeda. Fungsi apa yang harus saya gunakan untuk melakukannya?

Michael A
sumber

Jawaban:

227

Hak harus dilakukan:

select RIGHT('abcdeffff',4)
Void Ray
sumber
20
SUBSTR(column, LENGTH(column) - 3, 4)

LENGTHmengembalikan panjang string dan SUBSTRmengembalikan 4 karakter dari "panjang posisi - 4"

drchris
sumber
2
Selamat datang di SO dan terima kasih telah memposting jawaban. Harap pertimbangkan untuk menambahkan konteks ke kode Anda dan juga memformat kode Anda.
Richard Erickson
2
Ada bug off-by-one di sini. Seharusnya SUBSTR(column, LENGTH(column) - 3, 4). Jika panjangnya 4, kita harus mulai dari posisi 1 dan mengambil 4 karakter.
Karl
9

Untuk Oracle SQL, SUBSTR(column_name, -# of characters requested)akan mengekstrak tiga karakter terakhir untuk kueri tertentu. misalnya

SELECT SUBSTR(description,-3) FROM student.course;
alexanderjsingleton.dll
sumber
Sebagai catatan, ini tidak berfungsi untuk ms sql / sql-server, bukan?
ScottFoster1000
-3

solusi teruji pada 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');
Pratishtha Tripathi
sumber