亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SQL Server中通過(guò)reverse取某個(gè)最后一次出現(xiàn)的符號(hào)后面的內(nèi)容(字符串反轉(zhuǎn))

 更新時(shí)間:2012年07月09日 01:35:45   作者:  
昨天在項(xiàng)目中遇到了一個(gè)非常簡(jiǎn)單的問(wèn)題,需要把SQL Server數(shù)據(jù)庫(kù)中保存的一段路徑地址取出其文件名,但SQL Server又沒(méi)有現(xiàn)成的方法,最后在網(wǎng)上找到這樣的一個(gè)方法,原理是先將字符串反轉(zhuǎn),取出第一個(gè)/的位置,從頭進(jìn)行截取后再次反轉(zhuǎn)
sql語(yǔ)句
復(fù)制代碼 代碼如下:

reverse(substring(reverse(Path),1,charindex('/',reverse(Path)) - 1))


SQL如何取出一個(gè)字符串中最后一個(gè)特殊字符右邊的字符,例如:10*20*300,怎樣得到300?

使用reverse配合charindex來(lái)實(shí)現(xiàn)。

reverse是把字符串倒置,然后通過(guò)charindex來(lái)獲取倒置之后第一個(gè)*的位置,然后使用substring函數(shù)進(jìn)行字符串截取,截取后再使用reverse倒置回來(lái)即可。
以下為例子
declare @str varchar(20)
set @str = '10*20*300'
select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1))
結(jié)果是300
以上是SQLSERVER的語(yǔ)法。
ORACLE數(shù)據(jù)庫(kù)也有REVERSE函數(shù),不過(guò)SUBSTRING要改成SUBSTR,CHARINDEX函數(shù)要改成INSTR函數(shù)
SELECT reverse(substr(reverse('10*20*300'),1,INSTR(reverse('10*20*300'),'*') - 1)) FROM DUAL;
結(jié)果是300

相關(guān)文章

最新評(píng)論