本文へスキップ

リスト形式の変換

List Formatter

複数行をカンマ区切り・引用符付きのSQL IN句・JSON配列・箇条書きに変え、また元に戻します。

縦に並んだ値の列を、SQLのIN句・JSON配列・引用符付きの一覧・箇条書きに変え、そのどれからでも行へ戻します。肝心なのはアポストロフィの扱いです。O’BrienはSQL標準自身のエスケープである 'O''Brien' になります。

🔒 ブラウザの中だけで動きますlistformatjoinsql

入力

向き

形式

値の中のアポストロフィは二重にします。O'Brien は 'O''Brien' になり、これが SQL 標準そのもののエスケープです。バックスラッシュによるエスケープは MySQL でしか通らず、生成した IN 句が壊れる原因はたいていこれです。

結果

値の数

4

出力の文字数

43

使い方

  1. 向きを選びます

    行から一覧へ、または一覧から行へ。2つ目の向きはJSON配列・SQLのIN句・引用符付きの一覧・区切り文字の一覧を読み、どれとして判定したかを知らせます。

  2. 作る形を選びます

    形式ごとにa,bや"a", "b"のような例をそのまま見せるので、名前ではなく見た目で選べます。自分で指定を選べば、前後の文字と区切り文字を好きに決められます。

  3. 件数を確かめます

    値の個数が検算です。思っていたより1つ少なければ、空行が落ちたか、引用符の中のカンマが1つの値としてまとめられたかです。

よくある質問

アポストロフィが2つになるのはなぜですか

SQLのエスケープがそうだからです。'O''Brien' が標準で、どのデータベースでも通ります。バックスラッシュ方式はMySQLでしか通らず、生成したIN句が別のところで壊れるよくある原因がそれです。

カンマの入った値が2つに分かれました

引用符が付いていなかったときだけそうなります。一覧を読み戻すとき、引用符の中のカンマは値の一部として残します。a, "b, c" は3つではなく2つの値です。元の側で引用符を付ければそのまま残ります。

値の個数に上限はありますか

ここにはありませんが、貼り付ける先にはあります。OracleはIN句を1,000件に制限し、他のデータベースにもそれぞれの上限があります。どのみち数百を超えたら、一時テーブルか結合のほうがよい形です。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。