有馬総一郎のブログ

(彼氏の事情)

2020年10月30日 15:39:21 JST - 1 minute read - Comments - SQL

SQL Serverでは○(全角丸)がスペースと同じ扱いになる

タイトルのとおり。初め見たときはどういうことか目を疑ったよ。

select
  case
    when ' ' is not null
    and ' ' <> ''
      then '異なる'
    else '同じ'
    end []
  , case
    when ' ' <> ''
      then '異なる'
    else '同じ'
    end []
  , case
    when '' <> ''
      then '異なる'
    else '同じ'
    end [0x3007]
  , case
    when '' <> ''
      then '異なる'
    else '同じ'
    end [0x25A1]
  , case
    when '' <> ''
      then '異なる'
    else '同じ'
    end [0x25Cx]
  , case
    when '' collate Japanese_BIN <> ''
      then '異なる'
    else '同じ'
    end [0x3007 ]
半角スペース 全角スペース 丸0x3007 四角0x25A1 黒丸0x25Cx 丸0x3007 参照順
同じ 同じ 同じ 異なる 異なる 異なる

SQL Server の照合順序 - マイクロソフト系技術情報 Wiki