TOP 投稿 過去ログ 管理用 RSS RDF

SQLServerで外字を含むレコードを抽出する方法

下記の手法で検査対象項目に外字を含むレコードを抽出します。
  • Transact-SQLのLIKEキーワードは条件パターンに正規表現を使用できる

  • データ型がnvarcharの場合はUNICODEの外字コードを、varcharの場合はShift_JISの外字コードをそれぞれ指定する必要がある


■検査対象項目のデータ型が nchar・nvarcharの場合(UNICODEの場合)
where [検査対象項目] like '%[' + nchar(0xE000) + '-' + nchar(0xF8FF) + ']%'

■検査対象項目のデータ型が char・varcharの場合(Shift_JISの場合)
 ⇒ 一旦nvarcharに変換してから比較する
where cast([検査対象項目] as nvarchar) like '%[' + nchar(0xE000) + '-' + nchar(0xF8FF) + ']%'
where convert(nvarchar, [検査対象項目]) like '%[' + nchar(0xE000) + '-' + nchar(0xF8FF) + ']%'