quote関数

広告

quote関数は文字列をシングルクォーテーション(')で囲いクォートを行うために使用します。書式は次の通りです。

quote(値)

引数として文字列を指定した場合は文字列をシングルクォーテーションで囲んだ「'文字列'」の形式で返します。引数に数値を指定した場合はそのまま返します。BLOB型のデータの場合は「X'データ'」の形式で返します。quote関数は、値をSQL文で使用できる形式にしたい場合に使用します。

また文字列の中にシングルクォーテーション(')が含まれていた場合はシングルクォーテーションを付けて「''」として返します。

具体的には次のように使用します。

select quote('Good Bye!');    /* 'Good Bye!' */

少し分かりにくいですが'Good Bye!'という文字列を'Good Bye!'という値で返します。

また下記のようにカラムを指定した場合は、カラムに格納されている値に対して適切なクォートを行います。

create table goods(id integer, name text);

select quote(name) from goods;

このSELECT文では「name」カラムに含まれる値に対してクォートした結果を取得します。

サンプル

では実際に試してみます。

select
quote('Good Bye!') as TEXT, 
quote(randomblob(2)) as BLOB,
quote(10.5) as NUM;

p15-1

文字列に対しては'文字列'、BLOB型の値に対してはX'データ'、数値はそのままの値として取得しています。

今度は次のようなデータが格納されたテーブルを対象にします。

p15-2

では「msg」カラムに格納されている文字列をクォートした結果を取得してみます。

select msg, quote(msg) from quotetest;

p15-3

文字列の中にシングルクォーテーションが含まれていた場合は「''」に変換されていることが確認できます。

( Written by Tatsuo Ikura )