MW211 EXIT

devlog
MSSQL/文字列照合
2014年11月30日
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE 列 = '値';                                                        │
└──────────────────────────────────────┘
文字列で照合をかけると意外にゆるいことに気づく。

厳密に比較するには「COLLATE」をつける。
┌──────────────────────────────────────┐
│SELECT 列                                                                   │
│    FROM 表                                                                 │
│    WHERE 列 = '値' COLLATE JAPANESE_CS_AS_KS_WS;                           │
└──────────────────────────────────────┘

パラメータの意味は以下のような感じ。
┌─┬───────────────┬─┬──────────────────┐
│CS│大文字・小文字を区別          │CI│大文字・小文字を区別しない          │
├─┼───────────────┼─┼──────────────────┤
│AS│アクセント・濁音・破裂音を区別│AI│アクセント・濁音・破裂音を区別しない│
├─┼───────────────┼─┼──────────────────┤
│KS│ひらがな・カタカナを区別      │  │                                    │
├─┼───────────────┼─┼──────────────────┤
│WS│全角・半角を区別              │  │                                    │
└─┴───────────────┴─┴──────────────────┘
分類:MSSQL