Làm thế nào để lấy bốn ký tự cuối cùng từ một varchar?


92

Tôi đang cố gắng chỉ lấy bốn ký tự cuối cùng từ trường varchar. Tất cả các hàng có độ dài khác nhau. Tôi nên sử dụng chức năng nào để thực hiện điều này?

Câu trả lời:



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

LENGTHtrả về độ dài của chuỗi và SUBSTRtrả về 4 ký tự từ "độ dài vị trí - 4"


2
Chào mừng bạn đến với SO và cảm ơn bạn đã đăng câu trả lời. Vui lòng xem xét thêm ngữ cảnh vào mã của bạn và cũng như định dạng mã của bạn.
Richard Erickson

2
Có một lỗi riêng lẻ ở đây. Nên SUBSTR(column, LENGTH(column) - 3, 4). Nếu độ dài xảy ra là 4, chúng ta cần bắt đầu ở vị trí 1 và lấy 4 ký tự.
Karl



9

Đối với Oracle SQL, SUBSTR(column_name, -# of characters requested)sẽ trích xuất ba ký tự cuối cùng cho một truy vấn nhất định. ví dụ

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

Chỉ cần lưu ý, điều này không hoạt động đối với ms sql / sql-server, phải không?
ScottFoster1000

-3

giải pháp đã thử nghiệm trên 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');
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.