->or_like
仅这个两个方式是无法添加括号的,
1.定义新的方法、或者了解一下Ci框架中有没有其他的方法(呵呵,我不了解CI框架)
2.改变输出,在输出中括号
楼上答案有问题,应该要把这些条件用括号分组成一个单独的过滤条件,不然,结果不是多个字段精确过滤的例:
假设b的like项数多且不定,c有两个模糊匹配,还有其他项目,应该这样书写:
where 1=1 and (b like '%条件1%' or b like '%条件2%' ....)
and (c like '%条件c1%' or c like '%条件c2%')
and ...
确定一个字符表达式是否与另一个字符表达式相匹配。格式: LIKE(cExpression1, cExpression2)
参数:
cExpression1
指定要在 LIKE( ) 中与 cExpression2 相比较的字符表达式。cExpression1 中可以包含通配符 * 和 ?。问号 (?) 可与 cExpression2 中的任何单个字符相匹配,星号 (*) 可与任意数目的字符相匹配。在 cExpression1 中可以把任何数目的通配符进行任意的组合。
cExpression2
指定要在 LIKE( ) 中与 cExprssion1 相比较的字符表达式。只有在 cExpression1 与 cExpression2 中的字符逐个匹配的情况下, LIKE( ) 函数才返回“真”(.T.)。
返回值
逻辑型
说明
如果 cExpression1 与 cExpression2 相匹配,则 LIKE( ) 函数返回“真”(.T.);否则,返回“假”(.F.)。
SET COMPATIBLE 决定 LIKE( ) 函数如何比较 cExpression1 和 cExpression2 中的空格。若 SET COMPATIBLE 设置为 ON 或 DB4,则在比较之前删除 cExpression1 和 cExpression2 中的后缀空格。若 SET COMPATIBLE 设置为 OFF 或 FOXPLUS,则 cExpression1 和 cExpression2 的后缀空格也参加比较。以上回答参考了网络资料.希望能帮到你,有问题接着问。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)