[前][次][番号順一覧][スレッド一覧]

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]