カンマ・引用符・'' を含む値
カンマを含む値、二重引用符を含む値、'' で書いた引用符を含む値を 1 列に並べた例です。CSV に書くときの引用のしかたを確かめます。
入力
SQL
INSERT INTO t (a) VALUES ('x,y'), ('say "hi"'), ('it''s')NULL の書き方
空欄にする
結果
エラー 0 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
指摘はありません。
| 表名 | t |
|---|---|
| データ行数 | 3 行 |
| 列数 | 1 列 |
| INSERT 文の数 | 1 個 |
復元した CSV
a "x,y" "say ""hi""" it's
検算(この結果になる理由)
'it''s' は it's に戻ります(4.1.2.1 節)。RFC 4180 により、カンマを含む x,y と二重引用符を含む say "hi" は二重引用符で囲み、中の二重引用符は 2 つ重ねます。it's は囲みません。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- リテラルの値だけを読みます。関数呼び出し・計算式・型変換(::)を含む値と、INSERT ... SELECT・DEFAULT VALUES は判定不能で、その欄は空にします。
- 列名のリストを省略した INSERT は、見出しを col1・col2 … にします。実際の列名は表の定義がないと分かりません。
- 表または列の並びが最初の INSERT と違う文は、1 つの CSV にできないため含めません。
- 改行は LF(\n)で出力します。RFC 4180 は CRLF ですが、多くの表計算ソフトは LF も読み込めます。
ご利用にあたって
- 結果は字句の読み取りにもとづく確認で、実際のデータベースでの解釈を保証するものではありません。
- ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。