SQLパラメーターについて
2025-06-12 15:42
いつもお世話になっております。
SQL文の中でパラメーターを使用すると"パラメーターの番号が正しくありません"となり、エラーになってしまいます。
UNION句を使うと条件内でパラメーターを使えないんでしょうか。
パラメーターを使わない場合は正常に動きます。
よろしくお願いします。
エラーになるSQLは以下になります。
SELECT
列名1,
列名2
FROM
テーブル1
WHERE
列名3 BETWEEN %パラメーター1% AND %パラメーター2%
UNION ALL
SELECT
列名1,
列名2
FROM
テーブル1
WHERE
列名3 BETWEEN %パラメーター1% AND %パラメーター2%
回答を投稿するにはログインが必要です。
回答ありがとうござます。
UNION句を使っていてもパラメーターは使用できるのですね。
もう少し調べてみます。
UNION句を使っていてもパラメーターは使用できるのですね。
もう少し調べてみます。

こんにちは。
試しに下記SQLで実行してみたところ
正常終了して値もUNION ALLされた行数分取得されました。
その為、なぜそのようなエラーが出ているかは分からないのですが、
UNION句を使っても条件内でパラメーターを使うことはできるようです。
SELECT
社員番号
FROM
社員情報
WHERE
入社年月日 BETWEEN %p1% AND %p2%
union all
SELECT
社員番号
FROM
社員情報
WHERE
入社年月日 BETWEEN %p1% AND %p2%
試しに下記SQLで実行してみたところ
正常終了して値もUNION ALLされた行数分取得されました。
その為、なぜそのようなエラーが出ているかは分からないのですが、
UNION句を使っても条件内でパラメーターを使うことはできるようです。
SELECT
社員番号
FROM
社員情報
WHERE
入社年月日 BETWEEN %p1% AND %p2%
union all
SELECT
社員番号
FROM
社員情報
WHERE
入社年月日 BETWEEN %p1% AND %p2%