Zero-length character breaking query?

From: Doug Gorley <dgorley(at)aihs(dot)ca>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Zero-length character breaking query?
Date: 2012-03-15 23:09:32
Message-ID: 571E120A87CC684288FDD20126E4B4D674DE93CA47@HEXMBVS13.hostedmsx.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

G'day,

I believe I've got some bad data in a table, but I'm not sure how it got there, or how this scenario is possible.

The table is called tdt_unsent. The field is str_name_l. For demonstration purposes, the value is "SMITH".

"select * from tdt_unsent where str_name_l = 'SMITH'" returns 0 rows.
"select * from tdt_unsent where str_name_l ~ '^SMITH'" returns 3 rows.
"select * from tdt_unsent where str_name_l ~ '^SMITH$'" returns 0 rows.
"select length(str_name_l) from tdt_unsent where str_name_l ~ '^SMITH'" returns "5".

So, it's as if there is a zero-length character at the end of the value that is preventing a match. Is this possible? If so, how could this data have been created?

Thanks,

Doug Gorley
dgorley(at)aihs(dot)ca

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Filip Rembiałkowski 2012-03-15 23:29:26 Re: A 154 GB table swelled to 527 GB on the Slony slave. How to compact it?
Previous Message Jeff Davis 2012-03-15 21:53:07 Re: Temporal foreign keys