2009/04/16

Reverse

example :
select
reverse(substr(filepath,1,instr(filepath,'/')-1))
from
(
select reverse('http://test.com.tw/download/test.txt') as filepath from dual
)

動作 :
1. reverse('http://test.com.tw/download/test.txt') =>
txt.tset/daolnwod/wt.moc.tset//:ptth
2. instr(filepath,'/') => 9
3. substr(txt.tset/daolnwod/wt.moc.tset//:ptth,1,9-1) => 取反轉字串後的第一個字元到發現 /號的字元 - 1

結果 :
text.txt

example :
select reverse(sub_num) from
(
-- 取前三碼 (等於取原數字最後三碼)
select substr(reverse_num,1,3) as sub_num from
(
--將數字12345反轉
select reverse(to_char(12345)) as reverse_num from dual
)
)
結果 :
345

總結 :
運用上相當廣泛,值得記起來

沒有留言: