¿Cómo se pueden devolver las filas con caracteres que no sean ASCII utilizando SQL Server?
Si puede mostrar cómo hacerlo para una columna sería genial.Buscar caracteres que no sean ASCII en columnas varchar con SQL Server
que estoy haciendo algo como esto ahora, pero no está funcionando
select *
from Staging.APARMRE1 as ar
where ar.Line like '%[^!-~ ]%'
Para el crédito adicional, si puede abarcar todos los varchar
columnas en una tabla, que sería excepcional! En esta solución, sería bueno devolver tres columnas:
- El campo de identidad para ese registro. (Esto permitirá que todo el disco a ser revisada con otra consulta.)
- El nombre de la columna
- El texto con el carácter no válido
Id | FieldName | InvalidText |
----+-----------+-------------------+
25 | LastName | Solís |
56 | FirstName | François |
100 | Address1 | 123 Ümlaut street |
caracteres no válidos serían cualquiera fuera del intervalo de espacio (32) a través de ~
(127)
enfoque interesante KM. Por mi propia curiosidad ... ¿puedo preguntar por qué la línea "OPCIÓN (MAXRECURSIÓN 1000)" al final de su declaración es necesaria y qué hará en este caso? – Twelfth
"OPTION (MAXRECURSION 1000)" es necesario que el CTE, que forma recursiva construye un conjunto de filas de 1 a 1000, el valor por defecto es 100 (creo) llamadas de recursividad anidadas en un CTE exceder el valor por defecto requiere esta opción para ser establecido. Si usted tenía una tabla de números http://stackoverflow.com/q/1393951/65223 usted no necesitaría el CTE o esta "opción (MAXRECURSION 1000)" línea –