Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

UTF-8 and LIKE vs =



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: smime.p7s
Description: S/MIME cryptographic signature



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group