フィールドのすべての可能な値を表すために使用できるSQLの変数はありますか?この擬似コードのようなもの
SELECT name FROM table WHERE id = *ALL_EXISTING_ID-s*
この場合はすべての行を返したいのですが、後で検索を実行して1つのアイテムだけが必要になったときに、その変数をid
探しているものに置き換えることができます。
SELECT name FROM table WHERE id = 1
フィールドのすべての可能な値を表すために使用できるSQLの変数はありますか?この擬似コードのようなもの
SELECT name FROM table WHERE id = *ALL_EXISTING_ID-s*
この場合はすべての行を返したいのですが、後で検索を実行して1つのアイテムだけが必要になったときに、その変数をid
探しているものに置き換えることができます。
SELECT name FROM table WHERE id = 1
最も簡単な方法は、WHERE句を削除することです。これにより、すべての行が返されます。
SELECT name FROM table
既存のクエリで使用できるIDに使用できる「魔法の」値が必要で、すべての行が返される場合は、運が悪いと思います。
あなたはこのようなものを使うことができますが:
SELECT name FROM table WHERE id = IFNULL(?, id)
値が指定されている場合NULL
、すべての行が返されます。
気に入らない場合はNULL
、次のクエリを試してください。値-1
が指定されている場合は、すべての行が返されます。
SELECT name FROM table WHERE id = IFNULL(NULLIF(?, -1), id)
同じ効果を達成する別のアプローチ(ただし、IDを2回バインドする必要があります)は次のとおりです。
SELECT name FROM table WHERE (id = ? OR ? = -1)