リスト・SQL IN句・配列の相互変換
1列のID一覧をSQLのIN句や配列リテラルへ、逆に配列やIN句を1行ずつへ戻します。重複や件数も確認できます。
値の一覧を貼り付けてください。
- 件数 —
- 重複 —
- 値の種類 — 数値用のIN句が使えるか
補足
- 区切り文字を選ぶ必要はありません。改行・カンマ・セミコロン・タブ・空白のどれで区切られていても 同じように読みます。値そのものにカンマが入る場合だけ「改行だけを区切りとみなす」を使ってください。
-
('a','b')や["a","b"]をそのまま貼り付けられます。 囲みの括弧と値の引用符は外してから読みます。 -
SQL の文字列リテラルでは、値の中の
'を''にして囲みを壊さないようにします。 JavaScript / Python ではバックスラッシュでエスケープします。 - 数値用の IN 句を分けているのは、数値カラムに文字列リテラルを渡すと型変換が起きて 索引が効かなくなることがあるためです。
- このツールはSQLの安全性を保証しません。 利用者の入力をそのままクエリに埋め込むのではなく、プレースホルダを使ってください。
- 貼り付けた値は、この端末の外へ出ません。
よくある質問
スプレッドシートの1列をそのままIN句にできますか?
できます。改行区切りのまま貼り付けて「SQL の IN 句」を選ぶと、('a', 'b', 'c') の形で出力します。区切り文字を指定する必要はありません。改行・カンマ・タブ・空白のどれで区切られていても同じように読みます。
IN句や配列リテラルを貼って、1行ずつに戻せますか?
戻せます。('a','b') や ["a","b"] をそのまま貼り付けると、囲みの括弧と引用符を外して値だけを取り出します。出力形式に「1行ずつ」を選べば、スプレッドシートに貼れる形になります。
値にカンマが入っている場合はどうなりますか?
「改行だけを区切りとみなす」を有効にしてください。住所のようにカンマを含む値を扱うときに使います。既定ではカンマも区切りとして読むため、意図しない位置で分かれます。
数値用のIN句と文字列用のIN句は何が違いますか?
引用符を付けるかどうかです。数値カラムに文字列リテラルを渡すと暗黙の型変換が起きて索引が効かなくなることがあるため、分けています。値がすべて数値のときは、その旨を表示します。
重複や件数を確認できますか?
できます。件数・重複を除いた件数・重複している値(多い順に5件まで)を表示します。IN句に貼る前に「想定の件数か」「同じIDを2回入れていないか」を確かめられます。重複を落として出力することもできます。