有馬総一郎のブログ

(彼氏の事情)

2020年10月30日 15:39:21 JST - 1 minute read - 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