I'm writing an application that needs to work on both mysql and postgresql.
I have to use like
to compare some values.
In mysql LIKE
it's case insensitive.
In postgresql LIKE
it's case sensitive and ILIKE
it's case insensitive.
What is the best way to make a solid query that works on both in case the match has to be case insensitive ?
Does PDO have a solution for this ?
This is the job of a Database Abstraction Layer.
PDO does not do what you're looking for but there are a few PHP DALs if you google for them.
The easiest way to ensure a case-insensitive LIKE is to use something like one of these:
Or you can up-case/down-case the
pattern
outside the SQL and just use:I tend to use
LOWER
out of habit as lower case is easier to read and hence easier to debug.