TO_CHAR (文字)
構文
to_char_char::=
目的
TO_CHAR
(文字)は、NCHAR
、NVARCHAR2
、CLOB
または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ファンクションの使用で関連する例を参照して実行してください