반응형
T-SQL 하위 문자열-마지막 3 자
T-SQL을 사용 하여 varchar 열의 마지막 3 자를 가져 오는 방법은 무엇입니까?
열 텍스트는 그래서 IDS_ENUM_Change_262147_190
내가 필요190
SELECT RIGHT(column, 3)
그게 전부입니다.
LEFT()
같은 방법으로 할 수도 있습니다 .
인덱스를 사용할 수없는 WHERE
절 에서 이것을 사용하는 경우 명심하십시오 RIGHT()
.
다음 방법 중 하나를 사용할 수 있습니다.
SELECT RIGHT(RTRIM(columnName), 3)
또는
SELECT SUBSTRING(columnName, LEN(columnName)-2, 3)
그것에 대해 생각하는 더 많은 방법이 항상 좋기 때문에 :
select reverse(substring(reverse(columnName), 1, 3))
declare @newdata varchar(30)
set @newdata='IDS_ENUM_Change_262147_190'
select REVERSE(substring(reverse(@newdata),0,charindex('_',reverse(@newdata))))
=== 설명 ===
나는 다음과 같이 쓰는 것이 더 쉽다는 것을 알았습니다.
SELECT
REVERSE( --4.
SUBSTRING( -- 3.
REVERSE(<field_name>),
0,
CHARINDEX( -- 2.
'<your char of choice>',
REVERSE(<field_name>) -- 1.
)
)
)
FROM
<table_name>
- 텍스트 반전
- 특정 문자의 첫 번째 발생을 찾습니다 (즉, 텍스트의 첫 번째 발생 FROM END). 이 문자의 인덱스를 가져옵니다.
- 반전 된 텍스트를 다시 봅니다. 색인 0에서 문자 색인까지 검색합니다. 이것은 당신이 찾고있는 문자열을 제공하지만 반대로
- 원하는 부분 문자열을 제공하기 위해 반전 된 문자열을 반전
원하는 문자로 끝나는 문자열을 구체적으로 찾으려면 도움이 될 것입니다.
select * from tablename where col_name like '%190'
참고 URL : https://stackoverflow.com/questions/8359772/t-sql-substring-last-3-characters
반응형
'program story' 카테고리의 다른 글
WPF에서 제출 버튼을 만드는 방법은 무엇입니까? (0) | 2020.12.04 |
---|---|
전체 iPhone / iPad 앱의 배경 이미지 설정 (0) | 2020.12.04 |
rabbitmq 관리 플러그인 (rabbitmq-plugins) 설치 방법 (0) | 2020.12.04 |
네임 스페이스 'std'의 'vector'가 유형 이름을 지정하지 않습니다. (0) | 2020.12.04 |
HashSet 만들기 (0) | 2020.12.04 |