过滤条件表达式ds_equip.setfilter( range LIKE %AB% )ds_equip.filter( )ds_equip.retrieve()如果我
过滤条件表达式 ds_equip.setfilter( "range LIKE '%AB%' ") ds_equip.filter( ) ds_equip.retrieve()
如果我想检索range为AB和BC的项表达式应该怎么写?下面的好像不对 ds_criterion.setfilter( "range LIKE '%珠宝%' and range LIKE '%贵金属%' ") ds_criterion.filter( ) ds_criterion.retrieve()
[解决办法] 在表达式里面使用like要加括号,否则filter会返回错误的,具体原因查一下PB运算符的优先级就知道了, 另外,也可以改成pos函数来实现,可以不加括号的,呵呵~~ ds_criterion.setfilter( "(range LIKE '%珠宝%') and (range LIKE '%贵金属%' )") ds_criterion.filter( ) ds_criterion.retrieve() [解决办法] 一、确定是要加括号的问题,你看一下setfilter的返回值就是了! 二、你的需求是什么,是要过滤包括含贵金属的珠宝的还是珠宝或是贵金属;
[解决办法] 这是入门级的问题,不存在会出错的,你加个括号就知道了! 一、过滤包括含贵金属的珠宝 ds_criterion.setfilter( "(range LIKE '%珠宝%') and (range LIKE '%贵金属%') ")
二、过滤珠宝或是贵金属; ds_criterion.setfilter( "(range LIKE '%珠宝%') or(range LIKE '%贵金属%') ")