我创建了以下字符串:
set l_project_name = concat("UPPER(a.project_name) like UPPER ('%",projectName,"%')");
set l_project_type = concat(" OR UPPER(a.project_type) like UPPER('%",projectType,"%')");
set l_project_description = concat(" OR UPPER(a.project_description) like UPPER('%",projectDescription,"%')");
set l_full_search_clause = concat(l_project_name ,l_project_type, l_project_description);
字符串的结果: l_full_search_clause 是: UPPER(a.project_name) like UPPER('%order%')
我有一个选择子句,我需要使用我创建的包含这个 where 子句的这个字符串。所以,我有以下内容: select * from projects where l_full_search_clause
但是,当然,MYSQL 按原样读取 l_full_search_clause 而不是变量。我如何告诉 MYSQL 条件是一个变量字符串?
这个 sql 在 MYSQL 存储过程中.. 所以它只是普通的 sql .. 我从 C#、MVC3 调用这个存储过程