mysql:2372
From: "TOYOSHIMA,Masayuki" <"TOYOSHIMA,Masayuki" <mtoyo@xxxxxxxxxx>>
Date: Sat, 12 Aug 2000 12:44:53 +0900
Subject: [mysql 02372] 2 バイト文字の正規表現の問題
豊島(東京外国語大学アジア・アフリカ言語文化研究所)と申します。
2バイト文字の正規表現がうまく働かないように見えます。
3.23.22-beta を SunOS 5.5.1 (Sparc)で --with-charset=ujis でコンパイルし、
-default-character-set=ujis で利用していますが、例えば、次のようになりま
す。
CREATE TABLE test (MKey VARCHAR(20), MValue VARCHAR(40)); として、
INSERT INTO test (MKey, MValue) VALUES ('ぅう','ザザ'); とした後、
SELECT * FROM test WHERE MKey RLIKE 'イ';
SELECT * FROM test WHERE MValue RLIKE '競'; とすると
どちらの SELECT に対しても、下記が返ります。
+------+--------+
| Mkey | MValue |
+------+--------+
| ぅう | ザザ |
+------+--------+
ujis でのコード値は
ぅう a4a5a4a6
イ a5a4
ザザ a5b6a5b6
競 b6a5
なので、文字境界をまたいでマッチしているようです。
SELECT * FROM test WHERE MValue LIKE '%イ%'; ( 又は LIKE '%競%')
では、Empty set が戻る(マッチしない)ので、RLIKE (正規表現)のみの問題のよ
うに見えます。
当方のインストールの誤りなのでしょうか。
豊島正之(とよしま まさゆき) mtoyo@xxxxxxxxxx
http://jcs.aa.tufs.ac.jp/mtoyo/
東京外国語大学アジア・アフリカ言語文化研究所
〒114-8580 東京都北区西ケ原4丁目
2371 2000-08-12 05:38 [takashi yasutake <fw] 漢字コードについて -> 2372 2000-08-12 12:44 ┣["TOYOSHIMA,Masayuki"] 2 バイト文字の正規表現の問題 2373 2000-08-12 12:58 ┃┗[<takeshi@xxxxxxxxxx>] 2374 2000-08-12 09:14 ┗[とみたまさひろ <tomm]