Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Znajdź znaki spoza zestawu ASCII w kolumnach varchar za pomocą SQL Server

Oto rozwiązanie dla wyszukiwania pojedynczej kolumny przy użyciu PATINDEX.
Wyświetla również pozycję początkową, nieprawidłowy znak i kod 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalowanie wystąpienia klastra pracy awaryjnej programu SQL Server — część 1

  2. Jak znaleźć sumę wielu kolumn w tabeli w SQL Server 2005?

  3. Jak SESSION_CONTEXT() działa w SQL Server

  4. Warunkowa wydajność agregacji

  5. Zrozumienie grupowania według klauzuli w SQL Server — samouczek SQL Server / TSQL, część 130