mysql:9853
From: <takeshi@xxxxxxxxxx>
Date: Wed, 14 Jul 2004 13:34:05 +0900
Subject: [mysql 09853] Re: 文字列データ型について
村上です。 At Wed, 14 Jul 2004 11:21:45 +0900, Ebihara, Yuichiro wrote: > CHARとVARCHARでは、値を比較するときにCase Insensitive(大文字と > 小文字を区別しない)になり、CHAR BINARYとVARCHAR BINARYではCase > Sensitiveになるのがその違いだと理解しています。 > > 他のRDBMSは基本的にCase Sensitiveですし、これらのデータ型を引 > 数に取るSQL関数における大文字・小文字の取り扱いもばらばらで混 > 乱するので、ローカルルールとしては「常にCHAR BINARY、または > VARCHAR BINARYを使え」としてしまおうかと考えていますが、これに > よる副作用って何か考えられますでしょうか。 char() binary だと、 mysql> SELECT * FROM a WHERE c LIKE '%い%'; +--------+ | c | +--------+ | イあ | +--------+ のようなマッチになります。 > 4バイト未満のVARCHAR列は、自動的にCHAR列に変更されますが、その > 逆はないですよね? > つまり4バイト以上のCHAR列を定義すると、それがVARCHARに自動変更 > されたりはしませんよね? ということで、念のための確認です。 > (ただし他に可変長列がある場合は除く) ないはずです ================ 村上 takeshi@xxxxxxxxxx
9851 2004-07-14 11:21 ["Ebihara, Yuichiro" ] 文字列データ型について -> 9853 2004-07-14 13:34 ┗[<takeshi@xxxxxxxxxx>] 9855 2004-07-14 13:55 ┗[EBIHARA Yuichiro <ui] 9856 2004-07-14 14:19 ┗[<takeshi@xxxxxxxxxx>] 9857 2004-07-14 14:38 ┗["HIROSE, Masaaki" <h] 9859 2004-07-14 16:32 ┗[<takeshi@xxxxxxxxxx>] 9862 2004-07-15 10:47 ┗[EBIHARA Yuichiro <ui]