mysql:14985
From: kageyama 3 <kageyama 3 <kageyama329@xxxxxxxxxx>>
Date: Sat, 18 Jul 2009 12:59:58 +0900
Subject: [mysql 14985] Re: BLOB 列のデータを大文字・小文字の区別無 く検索する方法
Mikiyaさん、返信ありがとうございます。 > SELECT data FROM tbl WHERE CAST(clm AS CHAR CHARACTER SET utf8) LIKE '%abcd%'; あー、'%abcd%'こっちはキャストは要らなかったのですね。 > ただしこのようなクエリ(中間一致)ではテーブルスキャンが起きてしまうので注意してくださいね。 つまり、キャッシュが使えないということですね。 ということは、出来ることならばテーブルを作成する時に CREATE TABLE tbl(clm TEXT COLLATE utf8_bin) と した方が良いですよね。 タイミングを見て、変更できれば良いのですが。 以上です。 ---------------------------------------- > Date: Sat, 18 Jul 2009 12:36:50 +0900 > From: Mikiya.Okuno@xxxxxxxxxx > Subject: [mysql 14983] Re: BLOB 列のデータを大文字・小文字の区別無 く検索する方法 > To: ml@xxxxxxxxxx > > > On 18/07/2009, at 12:25 PM, kageyama 3 wrote: > >> >> >> 度々、すみません。 >> >> SELECT data FROM tbl WHERE CAST(clm AS CHAR) LIKE CAST('%abcd%') > > > SELECT data FROM tbl WHERE CAST(clm AS CHAR CHARACTER SET utf8) LIKE '%abcd%'; > > という風に文字コードを指定することもできますよ。 > ただしこのようなクエリ(中間一致)ではテーブルスキャンが起きてしまうので注意してくださいね。 > > -- > Mikiya Okuno, MySQL Support Engineer > Sun Microsystems KK, Tokyo, Japan > http://www-jp.mysql.com/ > > _________________________________________________________________ Hotmail が進化した!セキュリティーもばっちり! http://clk.atdmt.com/GBL/go/153791838/direct/01/
14979 2009-07-18 11:21 [kageyama 3 <kageyama] BLOB 列のデータを大文字・小文字の区別無 く検索する方法 14980 2009-07-18 11:37 ┗[Mikiya Okuno <Mikiya] 14981 2009-07-18 12:10 ┗[kageyama 3 <kageyama] 14982 2009-07-18 12:25 ┗[kageyama 3 <kageyama] 14983 2009-07-18 12:36 ┗[Mikiya Okuno <Mikiya] -> 14985 2009-07-18 12:59 ┗[kageyama 3 <kageyama] 14986 2009-07-18 13:08 ┗[Mikiya Okuno <Mikiya] 14987 2009-07-18 13:15 ┗[kageyama 3 <kageyama]