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?

Jawaban:



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

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


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;

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');
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.