- ベストアンサー
mysqlで大小文字区別の検索
SELECT field FROM data WHERE field = 'mixi' と検索すると'Mixi'が検索されます。'mixi'だけ検索するようにするにはどうすればよいでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
MySQLのデフォルトでは大文字・小文字を区別しない 検索を行なうようです。 今回の仕様を実現するには、 ・テーブル作成時に、当該カラムに binary 属性を加える、または ・既存のテーブルを変更するために alter table テーブル名 modify カラム名 属性 binary; を実行する のいずれかの方法をとる必要があるようです。
その他の回答 (4)
- mooboogie
- ベストアンサー率68% (28/41)
SELECT field FROM data WHERE binary field = 'mixi'; です。
お礼
解決しました。ありがとうございました。
- hrm_mmm
- ベストアンサー率63% (292/459)
マニュアルによれば、select 実行時にBINARY 演算子で、ケース依存にしたカラムの比較が行えるとのことですけど。 http://dev.mysql.com/doc/refman/4.1/ja/case-sensitivity-operators.html http://dev.mysql.com/doc/refman/4.1/ja/string-comparison-functions.html http://dev.mysql.com/doc/refman/4.1/ja/cast-functions.html sql3.2.3以降とのこと
- asuncion
- ベストアンサー率33% (2127/6289)
> CREATE TABLE data (field text binary); > では構文エラーになりました。 ちなみに、どういった構文エラーが出ましたか? 先ほどの私の回答と矛盾してしまうのですが、 私のところでは上記のcreateコマンドが正しく通りました。
お礼
解決しました。ありがとうございました。
- asuncion
- ベストアンサー率33% (2127/6289)
MySQLのサイトへ行って、マニュアルを確認してみました。 本当は、ご自身で行ってみていただきたいところでありますが…。 そうしますと、text系のカラムにはbinary属性がどうも付けられないように見えます。 charやvarcharならば付けられるのですけれど。
お礼
解決しました。ありがとうございました。
お礼
ありがとうございます。 textタイプのフィールドにbinaryを加えるにはどうすればよいでしょうか。 CREATE TABLE data (field text binary); では構文エラーになりました。