SQL截取最後一個由字符分隔的字符串

SQL若是一個字符串由某個字符分隔,例如:「火鍋>中餐>極品美食」、「10*20*300」,怎麼獲得字符最後一個字符串(「極品美食」、「300」)?數據庫


使用reverse配合charindex來實現。函數


reverse是把字符串倒置,而後經過charindex來獲取倒置以後第一個*的位置,而後使用substring函數進行字符串截取,截取後再使用reverse倒置回來便可。 字符串


如下爲例子 string


declare @str varchar(20)
set @str = '10*20*300'
select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1)) select


以上是SQLSERVER的語法。 語法


Oracle數據庫也有REVERSE函數,不過SUBSTRING要改爲SUBSTR,CHARINDEX函數要改爲INSTR函數
SELECT reverse(substr(reverse('10*20*300'),1,INSTR(reverse('10*20*300'),'*') - 1)) FROM DUAL;
結果是300數據

相關文章
相關標籤/搜索