On Fri, Aug 16, 2013 at 11:04 AM, Robert James <srobertjames@xxxxxxxxx> wrote: > What's the best way to check if string a begins with string b? > > Both a and b are coming from fields in a table. > > Requirements: > > * Either a or b might have special chars (such as '%') in them which > should NOT do anything special - they're just plain strings, not > regular expressions. > * a and b can be of arbitrary length (no fixed limits) where substring(a,1,length(b)) = b > * Ideally, I'd like it to be transparent to the query engine, so that > it can use indexes. If both a and b are indexed, it's possible in > theory to use the index to do most of the work - but I can't come up > with a query that makes use of it. I wouldn't count on this being much help. It might be able to use an index-only-scan if both a and b are in the index, but then you would just be treating the index as a skinny table, not as an index. Cheers, Jeff -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general