-
Notifications
You must be signed in to change notification settings - Fork 257
Closed
Milestone
Description
I am having an issue trying to do a StartsWith() on a "citext" column. When the case of the search value doesn't match the data, I don't get the correct results returned.
The condition that is being generated is something like this
WHERE ("ec"."Name" LIKE ($1 || '%') AND (LEFT("ec"."Name", LENGTH($1)) = $1))
The problem seems to be caused by the LEFT/LENGTH part. LEFT seems to be returning the value as a normal "text" string and not a "citext" value so it's not doing a case insensitive comparison.
In my searches, I came across this discussion which I assume is why that condition was added.
I can workaround it with a .ToLower() on the column but that defeats the purpose of the citext. Can anything be done about this?
Reactions are currently unavailable