cfscript和queryExecute()使用like而不是equals
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cfscript和queryExecute()使用like而不是equals相关的知识,希望对你有一定的参考价值。
我很好奇在cfscript函数中使用queryExecute()时这是否是使用like运算符的正确方法。
if( len(arguments?.lastName) ){
local.sqlWhere & = " AND t_lastname LIKE :lName";
local.sqlParams.lName = { value : arguments.lastName & '%', cfsqltype:'cf_sql_varchar'};
};
它只是像&'%'的字符串一样附加?
答案
我刚刚解决了你的问题。在coldfusion&symbol中总是连接两个字符串。所以我们无法像那样使用。在这里,我为您编写了一些示例代码,请检查一下。我希望能够更好地帮助编写基于脚本的查询。
local.MyQry = "SELECT * FROM Users WHERE 1=1 ";
我和你使用过相同的条件。不确定你的条件
if( len(arguments?.lastName) ){
local.MyQry &= " AND Email like :email"
}
如果条件为真,则将查询与前一个查询连接起来。并提到:(冒号我们将用作queryparam)
local.qry = new Query( datasource = 'your DB name' , sql = Local.MyQry);
if( len(arguments?.lastName) ){
local.qry.addParam( name="email", value="%#Arguments.email#%", cfsqltype="cf_sql_varchar");
}
return local.qry.execute();
您可以根据您的方案在此处给出%
符号。前%#Arguments.email#
。或者%#Arguments.email#%
我希望这会对你有所帮助。谢谢
以上是关于cfscript和queryExecute()使用like而不是equals的主要内容,如果未能解决你的问题,请参考以下文章