使用T-SQL,我如何获得varchar列的最后3个字符?
因此,列文字为 IDS_ENUM_Change_262147_190
,我需要 190
答案 0 :(得分:99)
SELECT RIGHT(column, 3)
这就是你所需要的一切。
你也可以用同样的方式做LEFT()
。
请记住,如果您在WHERE
子句中使用此RIGHT()
不能使用任何索引。
答案 1 :(得分:15)
您可以使用以下任何一种方式:
SELECT RIGHT(RTRIM(columnName), 3)
OR
SELECT SUBSTRING(columnName, LEN(columnName)-2, 3)
答案 2 :(得分:7)
因为考虑它的更多方法总是好的:
select reverse(substring(reverse(columnName), 1, 3))
答案 3 :(得分:1)
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>
答案 4 :(得分:-3)
如果你想专门找到以所需字符结尾的字符串,那么这对你有帮助......
select * from tablename where col_name like '%190'