Используя T-SQL, как я могу получить символы last 3 столбца varchar?
Итак, текст столбца IDS_ENUM_Change_262147_190
, и мне нужно 190
Используя T-SQL, как я могу получить символы last 3 столбца varchar?
Итак, текст столбца 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>
если вы хотите специально найти строки, которые заканчиваются желаемыми символами, тогда это поможет вам...
select * from tablename where col_name like '%190'