[前][次][番号順一覧][スレッド一覧]

mysql:15636

From: 亀田義裕 <亀田義裕 <kameda.sbng@xxxxxxxxxx>>
Date: Tue, 4 Oct 2011 17:43:06 +0900
Subject: [mysql 15636] collationについて質問

亀田と申します。

collationについて、想定と違う動作に遭遇しました。どなたか動作の理由を
ご存知であれば、教えていただけないでしょうか?

■ 概要
レコードに濁点付きの半角カタカナの文字列が格納されている。
charset=utf8, collate=utf8_unicode_ci

collateがutf8_unicode_ciであれば、全角ひらがな、全角カタカナ、
半角カタカナ を同一の値として扱うと想定していたが、格納されている
文字列を全角カタカナ、全角ひらがなに変換した値でlike検索を
かけてもマッチしない。
* ただし、値に濁点が含まれていないケースだとマッチする
* like検索ではなく、 = を用いて検索すると、マッチする


以下シェルの履歴です。全角カタカナでlike検索をかけたときのみ
マッチしていません。


=================================

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.1.53, for unknown-linux-gnu (x86_64) using
readline 5.1
...


mysql> create table test (id integer auto_increment primary key, kana
varchar(255));
Query OK, 0 rows affected (0.01 sec)

mysql> show create table test;
| Table | Create Table


 |
| test  | CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `kana` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci |
1 row in set (0.00 sec)

mysql> insert test set kana = 'ベネフィス';
Query OK, 1 row affected (0.00 sec)

mysql> select count(*) from test where kana = 'ベネフィス';
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from test where kana like 'ベネフィス';
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from test where kana = 'ベネフィス';
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

mysql> select count(*) from test where kana like 'ベネフィス';
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

=================================

同じ事をmysql5.5で行なっても同じ結果だったので、バージョンによる
問題ではないと考えています。
mysqlのドキュメントも読んでみたのですが、この挙動のヒントになるような
情報は見つけられていません。どなたかこの挙動の根拠をご存知でしたら
教えていただければ幸いです。

[前][次][番号順一覧][スレッド一覧]

->   15636 2011-10-04 17:43 [亀田義裕 <kameda.sbn] collationについて質問                   
     15637 2011-10-04 21:01 ┗[HIRATSUKA Sadao <hir]                                       
     15638 2011-10-06 14:51  ┗[亀田義裕 <kameda.sbn]