Подтвердить что ты не робот

Подстрока T-SQL - последние 3 символа

Используя T-SQL, как я могу получить символы last 3 столбца varchar?

Итак, текст столбца IDS_ENUM_Change_262147_190, и мне нужно 190

4b9b3361

Ответ 1

SELECT RIGHT(column, 3)

Это все, что вам нужно.

Вы также можете сделать LEFT() таким же образом.

Имейте в виду, если вы используете это в предложении WHERE, что RIGHT() не может использовать какие-либо индексы.

Ответ 2

Вы можете использовать любой способ:

SELECT RIGHT(RTRIM(columnName), 3)

ИЛИ

SELECT SUBSTRING(columnName, LEN(columnName)-2, 3)

Ответ 3

Потому что больше способов думать об этом всегда хорошо:

select reverse(substring(reverse(columnName), 1, 3))

Ответ 4

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>
  • Обратный текст
  • Ищите первое вхождение спецификатора char (то есть первое вхождение FROM END текста). Получает индекс этого char
  • Еще раз взглянул на обратный текст. ищет от индекса 0 до индекса вашего char. Это дает строку, которую вы ищете, но наоборот [/li >
  • Отменил обратную строку, чтобы дать вам нужную подстроку

Ответ 5

если вы хотите специально найти строки, которые заканчиваются желаемыми символами, тогда это поможет вам...

select * from tablename where col_name like '%190'