Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Suchen Sie mit SQL Server Nicht-ASCII-Zeichen in varchar-Spalten

Hier ist eine Lösung für die Einzelspaltensuche mit PATINDEX.
Es zeigt auch die StartPosition, InvalidCharacter und den ASCII-Code an.

select line,
  patindex('%[^ !-~]%' COLLATE Latin1_General_BIN,Line) as [Position],
  substring(line,patindex('%[^ !-~]%' COLLATE Latin1_General_BIN,Line),1) as [InvalidCharacter],
  ascii(substring(line,patindex('%[^ !-~]%' COLLATE Latin1_General_BIN,Line),1)) as [ASCIICode]
from  staging.APARMRE1
where patindex('%[^ !-~]%' COLLATE Latin1_General_BIN,Line) >0