Postgres has like and ilike to search with or without case-sensitive application. The other parameters are:
like : [('name', 'like', 'John%')]
ilike : [('name', 'ilike', 'John%')]
= : [('product_id', '=', 122)]
in : [('state', 'in', ('draft', 'done'))]
< : [('price_unit', '<', 14.50)]
<= : >[('price_unit', '<=', 14.50)]
> : [('price_unit', '>', 14.50)]
>= : [('price_unit', '>=', 14.50)]
!= : [('product_id', '!=', 122)]
Also, is interresting to know that OpenERP use Polish Notation to concatenate more search argument. For example if you wanna search a customer with name John you can use:
[('name', 'ilike', 'John%'), ('customer', '=', True)]
Note: the AND operator is implied. If You wanna search a partner called John or Jack you can use this code:
['|', ('name', 'ilike', 'John%'), ('name', 'ilike', 'Jack%')]
where | is the OR operator.