Verificamos de forma cada uno de los posts en nuestro espacio con la meta de enseñarte siempre información con la mayor veracidad y actualizada.
Solución:
Los negativos son tus amigos aquí:
SELECT Col1
FROM TABLE
WHERE Col1 like '%[^a-Z0-9]%'
Lo que dice que quieres filas donde Col1
consta de cualquier número de caracteres, entonces un carácter no en el conjunto a-Z0-9, y luego cualquier número de caracteres.
Si tiene una intercalación que distingue entre mayúsculas y minúsculas, es importante que use un rango que incluya mayúsculas y minúsculas A
, a
, Z
y z
que es lo que he dado (originalmente lo tenía al revés. a
viene antes A
. Z
viene después z
)
O, para decirlo de otra manera, podría haber escrito su original WHERE
como:
Col1 LIKE '[[email protected]#$%]'
Pero, como observó, necesitaría saber todos de los personajes a incluir en el []
.
El siguiente script transact SQL funciona para todos los idiomas (internacional). La solución no es verificar alfanuméricos sino verificar que no contenga caracteres especiales.
DECLARE @teststring nvarchar(max)
SET @teststring = 'Test''Me'
SELECT 'IS ALPHANUMERIC: ' + @teststring
WHERE @teststring NOT LIKE '%[-!#%&+,./:;<=>@`~"()*\_^?[]'']%' ESCAPE ''
Select * from TableName Where ColumnName LIKE '%[^A-Za-z0-9, ]%'
Esto le dará toda la fila que contiene cualquier carácter especial.
Al final de todo puedes encontrar las reseñas de otros usuarios, tú asimismo tienes la opción de mostrar el tuyo si lo crees conveniente.