所有半形字都有另一個全形字,在Windows可以叫出字元對應表來對照,
那如何運用在SQL上?
查BIG5表,123456789對應羅馬數字ⅠⅡⅢⅣⅤⅥⅦⅧⅨ
其實是連續的字,所以只要用SQL就可以把數字直接轉換成羅馬數字!除了0
也就是A2B9, A2BA,.....A2C2
而數字1~9對應的ASCII = 49 ~ 57
所以從此下手
1 select rownum "N", chr(162)||chr(rownum + 185-1) roma_w
2 from all_tables
3* where rownum <= 9
SQL> /
N RO
--------- --
1 Ⅰ
2 Ⅱ
3 Ⅲ
4 Ⅳ
5 Ⅴ
6 Ⅵ
7 Ⅶ
8 Ⅷ
9 Ⅸ
選取了 9 列
關鍵在全形字是由兩個位元組成,分開處兩個字後再結合即可產生全形字。
A2(16位元) = 16*10+2=162
B9(16位元) = 11*16+9=185
chr(162) || chr(185) = A2B9
同樣處理方式可對待這些連續編碼的字型
全形數字、
英文大小寫字、
注音符號、
▁▂▃▄▅▆▇█
▏▎▍▌▋▊▉▉
[開發技術組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/dev/1
[鐵人人生組]全文閱讀
http://ithelp.ithome.com.tw/ironman6/player/yafuu168/life/1