programing

T-SQL 하위 문자열 - 마지막 3자

padding 2023. 7. 12. 22:20
반응형

T-SQL 하위 문자열 - 마지막 3자

T-SQL을 사용하여 바차 열의 마지막 3자를 얻으려면 어떻게 해야 합니까?

그래서 열 텍스트는 그리고 나는 필요합니다.

SELECT RIGHT(column, 3)

그게 당신이 필요한 전부입니다.

또한 할 수 있습니다.LEFT()같은 방법으로

이 기능을 다음에 사용하는 경우에는 주의하십시오.WHERE라는 조항RIGHT()인덱스를 사용할 수 없습니다.

다음 방법 중 하나를 사용할 수 있습니다.

SELECT RIGHT(RTRIM(columnName), 3)

OR

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>
  1. 텍스트 역방향
  2. 특정 문자의 첫 번째 발생(즉, 텍스트 끝에서 첫 번째 발생)을 찾습니다.이 문자의 인덱스를 가져옵니다.
  3. 반전된 텍스트를 다시 봅니다.색인 0에서 사용자 문자의 색인까지 검색합니다.이것은 당신이 찾고 있는 문자열을 제공하지만, 그 반대입니다.
  4. 원하는 하위 문자열을 제공하기 위해 반전된 문자열을 반환했습니다.

원하는 문자로 끝나는 문자열을 구체적으로 찾으려면...

select * from tablename where col_name like '%190'

언급URL : https://stackoverflow.com/questions/8359772/t-sql-substring-last-3-characters

반응형