varchar에서 마지막 네 문자를 가져 오는 방법은 무엇입니까?


93

varchar 필드에서만 마지막 4자를 가져 오려고합니다. 모든 행은 길이가 다릅니다. 이 작업을 수행하려면 어떤 기능을 사용해야합니까?

답변:



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

LENGTH문자열 길이를 SUBSTR반환하고 "위치 길이-4"에서 4자를 반환합니다.


2
SO에 오신 것을 환영하고 답변을 게시 해 주셔서 감사합니다. 코드에 컨텍스트를 추가하고 코드 형식을 지정하는 것을 고려하십시오.
Richard Erickson

2
여기에 하나의 버그가 있습니다. 이어야 SUBSTR(column, LENGTH(column) - 3, 4)합니다. 길이가 4이면 위치 1에서 시작하여 4자를 가져와야합니다.
Karl



9

Oracle SQL의 SUBSTR(column_name, -# of characters requested)경우 주어진 쿼리에 대해 마지막 세 문자를 추출합니다. 예 :

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

참고로, 이것은 ms sql / sql-server에서 작동하지 않습니다.
ScottFoster1000

-3

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');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.