我有一个Mysql查询
SELECT *
FROM EMPLOYEE
WHERE DEPARTMENT = ?
AND DESIGNATION = ?
AND DISTRICT = ?
AND CIRCLE = ?参数(?)的任何1或2或3都是可能的。可以是空的或空的。
那么,如果空参数完全是where子句中的
Ignore和表中的only search for the non-empty parameter,我应该做什么。
我怎样才能做到这一点
请帮忙..。查询必须与mysql兼容。谢谢
发布于 2017-10-25 20:44:31
您可以添加两次输入参数并使查询如下所示:
SELECT *
FROM EMPLOYEE
WHERE (DEPARTMENT = ? OR ? IS NULL)
AND (DESIGNATION = ? OR ? IS NULL)
AND (DISTRICT = ? OR ? IS NULL)
AND (CIRCLE = ? OR ? IS NULL)第一个和第二个“?”绑定相同的值。
或者(也可以说更好),您可以动态构建SQL,如果不应用where子句,可以省略其中的某些部分。您可以连接字符串以获得基本SQL,并仍然使用bind参数。
https://stackoverflow.com/questions/46941690
复制相似问题