sql >> Base de Datos >  >> RDS >> Sqlserver

Encuentre caracteres que no sean ASCII en columnas varchar usando SQL Server

Aquí hay una solución para la búsqueda de una sola columna usando PATINDEX.
También muestra el código StartPosition, InvalidCharacter y ASCII.

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