【发布时间】:2013-02-05 15:55:38
【问题描述】:
我有一个问题,也许它很简单(对你们大师而言)。
我正在将我的 SQL 分页类从 C# 转换为 MySQL 存储过程。在我的 C# 自制对象中,查询是根据条件动态构建的。示例:
if(keywords is not null)
{
whereClause += "WHERE description LIKE '%keywords%'"
}
if(price is not null)
{
whereClause += "AND price = '%price%'"
}
....
string query = "SELECT col1, col2 FROM tblThreads " + whereClause
现在,我的问题是:如何在 MySQL 中执行与此类似的动态 where 子句?或者更确切地说,如果他们没有为这些参数输入任何内容,我将如何告诉存储过程中的 MySQL 跳过这些?即:
SELECT col1, col2 FROM tblThreads
如果这些参数为空,类似的方法会起作用吗?
SELECT col1, col2 FROM tblThreads WHERE (IS NULL @keywords OR description like '%@keywords%'
??
谢谢大家。
【问题讨论】: