UTF-8 and LIKE vs = - Mailing list pgsql-general

From David Wheeler
Subject UTF-8 and LIKE vs =
Date
Msg-id 6E8A7CEA-F53C-11D8-990D-000A95972D84@kineticode.com
Whole thread Raw
Responses Re: UTF-8 and LIKE vs =
Re: UTF-8 and LIKE vs =
List pgsql-general
Hi All,

I'm having some trouble with multibyte characters and LIKE. We've been
using LIKE instead of = for string queries for a long time, as it gives
us flexibility to use wildcards such as "%" when we need to and get the
same results as with = by not using them. But I've just found that it
sometimes doesn't work properly:

bric=# select version();
                                                  version
------------------------------------------------------------------------
---------------------------------
  PostgreSQL 7.4.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2.2
20030222 (Red Hat Linux 3.2.2-5)
(1 row)

bric=# select * from keyword where name = '북한의';
   id  |  name  | screen_name | sort_name | active
------+--------+-------------+-----------+--------
  1218 | 국방비 | 국방비      | 국방비    |      1
(1 row)

bric=# select * from keyword where name LIKE '북한의';
  id | name | screen_name | sort_name | active
----+------+-------------+-----------+--------
(0 rows)

bric=# select * from keyword where name ~ '^북한의';
  id | name | screen_name | sort_name | active
----+------+-------------+-----------+--------
(0 rows)

Any idea why = works here and LIKE and ~ wouldn't?

TIA,

David
Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: libpq on the server
Next
From: Alvaro Herrera
Date:
Subject: Re: libpq on the server