| 23件目(121件中) |

大文字小文字を区別して検索

固定リンク:#0000000101   投稿者:ZiSTA 日時:2009-11-24 22:12:14   コメント( 0

MySQLのVARCHARでは文字列の大文字小文字を区別せずに検索してくれます。MySQLが文字セットを認識しているためです。'utf8_unicode_ci'を指定すれば日本語のひらがなとカタカナも同一視してくれます。より多くの検索結果を得たい場合はとても便利です。


普段はこれで良いが特定のケースで大文字小文字を区別して検索したい時には、以下のようにBINARY型に変換して検索する方法がありました。

$options['conditions']=array("CAST(Post.title AS BINARY)"=>'saku saku');
$this->Post->find('all',$options);


SQLでは"BINARY Post.title"のような書き方もOKですが、CakePHPの検索条件を組み立てるやり方ではダメでした。

$options['conditions']=array("BINARY Post.title"=>'saku saku');
$this->Post->find('all',$options);

常に大文字小文字を区別したい場合はデータタイプをVARBINARY型にします。

 

コメント

| 23件目(121件中) |
↑ ページトップ