文字列を違う文字コードに変換する

構文

CONVERT ( string , dest_charset [, source_charset] )
return [ varchar2 ]

引数

string変換する対象の文字列
dest_charset変換先のキャラクタセット
source_charset変換元のキャラクタセットdefault DBキャラクタセット

戻り値

  • 文字コードを変換した文字列(VARCHAR2 型に格納)

適用

  • SQL および PL/SQL の両方で使用可能。

CONVERT 関数の内容

変換する対象の文字列 string を 変換前の キャラクタセット source_charset から 変換後のキャラクタセット dest_charset に変更した文字列を戻す。

[-] [+]

変換文字に対応するコードポイントが存在しない場合にはクエスチョンマーク(クエッションマーク)(?) に変換される。
変換する対象の文字列 string にはラージオブジェクトも利用することが可能。
利用できる型は CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOB の6つで LONG には使用できない。

注意

UTL_I18N パッケージの STRING_TO_RAW ファンクションは変換結果を RAW 型に代入するが CONVERT 関数は VARCHAR2 型として戻す。 文字化けする状態の VARCHAR2 型をデータベースに格納すると結果として将来データが壊れてしまう運用になる可能性があるので型本来のキャラクタセット以外の文字列を格納する場合には RAW を使用する。

CONVERT 使用例

データベースのキャラクタセットが Shift-JIS(JA16SJISTILDE) の場合の文字コードの変換

SQL> select CONVERT('あいう', 'JA16EUCTILDE') from dual;
 
CONVERT
------------
、「、、、ヲ ← 文字化けする
SQL> select CONVERT('あいう', 'JA16EUCTILDE', 'JA16SJISTILDE') from dual;
 
CONVERT
------------
、「、、、ヲ  ⇒ 'あいう' (EUC-JP のため文字化けする)

変換前のキャラクタセットの名称 source_charset と入力した文字コードと一致していない場合の文字コードの変換
データベースのキャラクタセットが Shift-JIS(JA16SJISTILDE)

SQL> select CONVERT('aaa', 'JA16SJIS' ,'JA16EUCTILDE') from dual;
 
CONVER
------
aaa
SQL> select CONVERT('あいう', 'JA16SJIS' ,'JA16EUCTILDE') from dual;
select CONVERT('あいう', 'JA16SJIS' ,'JA16EUCTILDE') from dual
                                                          *
行1でエラーが発生しました。:
ORA-12703: このキャラクタ・セット変換はサポートされません。

文字コードの変換、そして再変換 (SJIS ⇒ EUC ⇒ SJIS)

SQL> select CONVERT(CONVERT('あいう', 'JA16EUCTILDE'),'JA16SJISTILDE', 'JA16EUCTILDE')
  2  from dual;
 
CONVERT
------------
あいう

「あいう」⇒「、「、、、ヲ」(EUC 文字化け) ⇒ 'あいう'



PL/SQL パッケージ - CONVERT 関連

SQL 関数 - CONVERT 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
スポンサード リンク

ITエンジニア キャリアアップ・転職・求人情報

Oracle & IT技術者 専門書

やさしいOracle PL/SQL入門 (DB Magazine SELECTION)
価格: 2,310 円 (税込)
新品/ユーズド価格: 700 円 より
バージョンとコンディション情報に注意
リリース: 2002-06
ユーザーレビュー: 7 件

Oracle Application Server 10g 構築・運用パーフェクトガイド
価格: 3,990 円 (税込)
新品/ユーズド価格: 3,192 円 より
リリース: 2007-04-27
ユーザーレビュー: 1 件

SEからコンサルタントになる方法
価格: 1,470 円 (税込)
新品/ユーズド価格: 800 円 より
リリース: 2008-01-31
ユーザーレビュー: 4 件

日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ オラクルサポートセンター
Google