【PL/SQL】エスケープ文字


ここではORACLE社が提供するPL/SQL言語のエスケープ文字をまとめて紹介しています。

エスケープ文字

PL/SQLではエスケープ文字をCHR関数を使って記述します。
基本的なエスケープ文字の一覧は次の通りです。

記号文字コード
単一引用符(‘)CHR(39)
二重引用符(“)CHR(34)
タブCHR(9)
スペースCHR(32)
改行(CR)CHR(13)
改行(LF)CHR(10)
改行(Windows系)CHR(13) || CHR(10)
改行(LINUX系)CHR(10)

エスケープ文字のサンプル

単一引用符(‘):シングルクォーテーション

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(39)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1'test2
PL/SQLが実行されました(6 msec.)

二重引用符(“):ダブルクォーテーション

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(34)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1"test2
PL/SQLが実行されました(7 msec.)

タブ

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(9)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1	test2
PL/SQLが実行されました(6 msec.)

スペース

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(32)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1 test2
PL/SQLが実行されました(21 msec.)

改行(CR)

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(13)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1
test2
PL/SQLが実行されました(22 msec.)

改行(LF)

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(10)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1
test2
PL/SQLが実行されました(7 msec.)

改行(Windows系)

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(13) || CHR(10)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1
test2
PL/SQLが実行されました(21 msec.)

改行(LINUX系)

DECLARE
    str VARCHAR(100);
BEGIN
    str := 'test1' || CHR(10)	 || 'test2';
    DBMS_OUTPUT.PUT_LINE(str);
END;
test1
test2
PL/SQLが実行されました(7 msec.)