【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?

MySQLでのあいまい検索について、教えてください。

長いですが、最後までお付き合いください。
今、入っている全データは、以下の通りです。
fieldはnum,nameです。

1 あいうえお
1 かきくけこA
1 さしすせそB
1 たちつてとC
1 まみむめもF
2 あいうえお
2 かきくけこA
2 さしすせそB
3 わおん
3 らりるれろA
3 たちつてとC
3 なにぬねのD
4 かきくけこA
4 はひふへほE
4 まみむめもF
5 Aあいうえお
6 あいAうえお
7 あい A うえお

ここから、あいまい検索でnameに「A」を含むものを抽出したいので、

select num, name from ○○ where name like '%A%' order by num;

としました。すると出てくるのは、

1 かきくけこA
1 たちつてとC
1 まみむめもF
2 かきくけこA
3 らりるれろA
3 たちつてとC
4 まみむめもF
4 かきくけこA
5 Aあいうえお
6 あいAうえお
7 あい A うえお

が出てきてしまいます。「A」が含まれる物は全て出ますが、それ以外の物まで出ます。

また、「C」で同じことをすると、

1 たちつてとC
3 らりるれろA
3 たちつてとC

「E」では、

3 らりるれろA
3 なにぬねのD
4 はひふへほE

「D」でも別の物が出てきます。しかし「B」「F」は正常に出ます。

他にも、ひらがな「に」でやってみても、

3 らりるれろA
3 なにぬねのD

と出ます。

なぜ、このようになってしまうのでしょうか?
あいまい検索の仕方を間違っているのでしょうか?
よろしくお願い致します。

A 回答 (1件)

たぶんCHARSETに問題がある。



CREATE TABLE でCHARSET指定してますか?
    • good
    • 0
この回答へのお礼

ありがとうございました!端末はsjisで、MySQLは違っていました。
本当に助かりました。

お礼日時:2010/06/06 15:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報