TO_CHAR (文字)

構文

to_char_char::=

目的

TO_CHAR(文字)は、NCHARNVARCHAR2CLOBまたはNCLOBデータをデータベース文字セットに変換します。戻り値は常にVARCHAR2です。

このファンクションを使用して文字LOBをデータベース文字セットに変換する際、変換するLOB値がターゲットのデータ型よりも大きいと、データベースからエラーが返されます。

関連項目:

このファンクションの文字の戻り値に割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。

次の例では、単純な文字列を文字データとして解析します。

SELECT TO_CHAR('01110') FROM DUAL;

TO_CH
-----
01110

この例と、「TO_CHAR(数値)」の最初の例を比較してください。

次の例では、pm.print_media表のCLOBデータをデータベース文字セットに変換します。

SELECT TO_CHAR(ad_sourcetext) FROM print_media
      WHERE product_id = 2268;

TO_CHAR(AD_SOURCETEXT)
--------------------------------------------------------------------
******************************
TIGER2 2268...Standard Hayes Compatible Modem
Product ID: 2268
The #1 selling modem in the universe! Tiger2's modem includes call management
and Internet voicing. Make real-time full duplex phone calls at the same time
you're online.
**********************************

TO_CHAR (character)ファンクション: 例

次の文は、empl_tempという名前の表を作成し、従業員の詳細を移入します。

CREATE TABLE empl_temp 
  ( 
     employee_id NUMBER(6), 
     first_name  VARCHAR2(20), 
     last_name   VARCHAR2(25), 
     email       VARCHAR2(25), 
     hire_date   DATE DEFAULT SYSDATE, 
     job_id      VARCHAR2(10), 
     clob_column CLOB 
  );

INSERT INTO empl_temp
VALUES(111,'John','Doe','example.com','10-JAN-2015','1001','Experienced Employee');

INSERT INTO empl_temp
VALUES(112,'John','Smith','example.com','12-JAN-2015','1002','Junior Employee');

INSERT INTO empl_temp
VALUES(113,'Johnnie','Smith','example.com','12-JAN-2014','1002','Mid-Career Employee');

INSERT INTO empl_temp
VALUES(115,'Jane','Doe','example.com','15-JAN-2015','1005','Executive Employee');

次の文は、CLOBデータをデータベース文字セットに変換します。

SELECT To_char(clob_column) "CLOB_TO_CHAR" 
FROM   empl_temp 
WHERE  employee_id IN ( 111, 112, 115 );

CLOB_TO_CHAR
--------------------
Experienced Employee
Junior Employee
Executive Employee

Live SQL:

Oracle Live SQLのTO_CHARファンクションの使用で関連する例を参照して実行してください