T-SQLを使用して、varchar列のlast文字を取得するにはどうすればよいですか?
したがって、列のテキストはIDS_ENUM_Change_262147_190
であり、190
が必要です
SELECT RIGHT(column, 3)
必要なのはそれだけです。
同じ方法でLEFT()
を実行することもできます。
RIGHT()
がインデックスを使用できないWHERE
句でこれを使用している場合は注意してください。
どちらの方法でも使用できます:
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>