SQLServerの全角と半角

2010/01/29

開発

SQLServerって、デフォルトで全角と半角って区別しないでヒットするんだね。
#試したのはSQLServer2005だけです。
SQLServerの常識みたいだけど知らなかった。

試してみたけど
  • 「ア」と「ア」
  • 「A」と「A」
  • 「ガ」と「ガ」
  • 「1」と「1」
  • 「@」と「@」
  • 「,」と「,」
なんかが余裕で同じものとしてヒットします。
すげー?

濁点なんて半角カナだと二文字になるのに。

区別するには「COLLATE句」をつけるんだってさ。

Select * From Test
Where HOGE Like '%A%' COLLATE Japanese_CS_AS_KS_WS
みたいな感じで。

※照合順序

CI = 大文字、小文字を区別しない。全角アルファベットの大文字、小文字も区別しない

CS = 大文字、小文字を区別する。全角アルファベットの大文字、小文字も区別する

AI = アクセント、濁音、破裂音を区別しない。

AS = アクセント、濁音、破裂音を区別する。

KS = ひらがなとカタカナを区別する。半角でも区別する

WS = 文字幅を区別する。つまり全角、半角を区別する。

ここが詳しいです。

楽天市場でGO

マウスコンピューター期間限定セール

過去の記事はこちら

QooQ