sqlserver中擷取最後一個字元所在的位置,sqlserver最後一個

來源:互聯網
上載者:User

sqlserver中擷取最後一個字元所在的位置,sqlserver最後一個

CHARINDEX('字元',reverse(欄位名稱))

這個意思就是將欄位進行反轉,就是從後往前取,這樣就可以擷取一個字元最後所在的位置


SQL擷取字串最後出現的位置

declare @str varchar(50)
set @str='1-9-3-2'
select REVERSE(SUBSTRING(REVERSE(@str),1,CHARINDEX('-',REVERSE(@str))-1))
 
SQL怎取出一個字串中最後一個特殊字元右邊的字元,例如:10*20*300,怎得到300?

DECLARE @aa VARCHAR(30)
SET @aa = '10*20*300'
-- 取定長字串,如*後的3個字元
SELECT SUBSTRING(@aa, LEN(@aa) - CHARINDEX('*',REVERSE(@aa)) + 2, 3)
-- 或者取最後一個*後的所有字元
SELECT RIGHT(@aa, CHARINDEX('*',REVERSE(@aa)) - 1)

-- 結果都是 300
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.