最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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


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

使用reverse配合charindex來實現(xiàn)。

reverse是把字符串倒置,然后通過charindex來獲取倒置之后第一個*的位置,然后使用substring函數(shù)進行字符串截取,截取后再使用reverse倒置回來即可。
以下為例子
declare @str varchar(20)
set @str = '10*20*300'
select reverse(substring(reverse(@str),1,charindex('*',reverse(@str)) - 1))
結(jié)果是300
以上是SQLSERVER的語法。
ORACLE數(shù)據(jù)庫也有REVERSE函數(shù),不過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)文章

最新評論

林西县| 鄂州市| 互助| 临江市| 武邑县| 韶关市| 都安| 邵阳市| 黄骅市| 来凤县| 河津市| 婺源县| 阿图什市| 哈密市| 江山市| 疏附县| 玉屏| 衢州市| 金华市| 枣庄市| 施秉县| 买车| 宜兰县| 齐河县| 资溪县| 洪湖市| 临颍县| 昌乐县| 增城市| 佳木斯市| 洪湖市| 阜宁县| 彩票| 民丰县| 茂名市| 岐山县| 攀枝花市| 涟源市| 托里县| 沈丘县| 行唐县|