ama*_*wal 5 sql oracle coldfusion case-insensitive
我用来编写一个select查询,like语句的值是动态的.
AND e.rank_request_id = a.request_id
AND f.priority_request_id = a.request_id
AND b.status_type_id = c.status_id
AND b.status_request_id = a.request_id
AND a.request_id LIKE '%#form.searchbar#%'
Run Code Online (Sandbox Code Playgroud)
但是只有匹配字符串#form.searchbar#中每个字符的Case时,才会返回结果.
请为此建议一个解决方法,以便它变得不区分大小写.
Sni*_*656 18
我不知道你正在使用什么数据库,但如果这是针对Oracle的,那么你可以强制执行这两种情况.这虽然是执行时间的代价,因为它为该列中的所有值执行此操作,但是如果您拥有大量数据并且可以使用基于函数的索引解决该问题,则只会看到成本.对于Oracle来说,这样的事情是这样的:
AND UPPER(a.request_id) LIKE '%#UCase(Form.Searchbar)#%'
Run Code Online (Sandbox Code Playgroud)
但我建议您使用queryparam,因为看起来来自用户输入的框,所以:
AND UPPER(a.request_id) LIKE <cfqueryparam value="%#UCase(Form.Searchbar)#%" cfsqltype="cf_sql_varchar" />
Run Code Online (Sandbox Code Playgroud)