Oracle SQL 関数 : TO_MULTI_BYTE,TO_SINGLE_BYTE : マルチバイト・シングルバイト変換
strRet := TO_MULTI_BYTE ( strSrc );
strRet := TO_SINGLE_BYTE( strSrc );
strSrc をマルチバイト、またはシングルバイトに変換した文字列を返します。
半角カタカナの文字は全角には変換されません。
(半角カタカナは内部的にはマルチバイト表現のため)
私の Oracle の環境は文字コードが Shift-JIS なのですが、関数の使用例を示します。
SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS |
2 WHERE PARAMETER= 'NLS_CHARACTERSET' ; |
2 TO_MULTI_BYTE( 'ABC' ) AS "'ABC'" |
3 ,TO_MULTI_BYTE( '123,456.789' ) AS "'123,456.789'" |
4 ,TO_MULTI_BYTE( 'ハンカク' ) AS "'ハンカク'" |
5 ,TO_MULTI_BYTE( '全角文字' ) AS "'全角文字'" |
'ABC' '123,456.789' 'ハンカク' '全角文字' |
ABC 123,456.789 ハンカク 全角文字 |
3番目の「ハンカク」はそのままの文字列が戻されることが分かります。
この関数はいわゆる ASCII 文字を全角にする場合に使うぐらいしか用途が無いようです。
以下は TO_SINGLE_BYTE の例を示します。
2 TO_SINGLE_BYTE( 'ABC' ) AS "'ABC'" |
3 ,TO_SINGLE_BYTE( '123,456.789' ) AS "'123,456.789'" |
4 ,TO_SINGLE_BYTE( 'ハンカク' ) AS "'ハンカク'" |
5 ,TO_SINGLE_BYTE( '全角文字' ) AS "'全角文字'" |
'AB ' 123,456.78 'ハンカク' '全角文字' |
ABC 123,456.789 ハンカク 全角文字 |
本書用のWebアプリを使ってSQLを実行し学習していきます。初心者の方に分かりやすく、図表を多く使って解説されています。 学習の最後には200問越えのドリルが付いていてSQLのスキルが試せる様になっています。