quitar - SELECCIONE solo las filas que contienen solo caracteres alfanuméricos en MySQL
caracteres alfanumericos y especiales (6)
Estoy tratando de seleccionar todas las filas que contienen solo caracteres alfanuméricos en MySQL usando:
SELECT * FROM table WHERE column REGEXP ''[A-Za-z0-9]'';
Sin embargo, devuelve todas las filas, independientemente del hecho de que contengan caracteres no alfanuméricos.
Cambia el REGEXP
a Like
SELECT * FROM table_name WHERE column_name like ''%[^a-zA-Z0-9]%''
este funciona bien
Prueba este código:
SELECT * FROM table WHERE column REGEXP ''^[A-Za-z0-9]+$''
Esto asegura que todos los personajes coincidan.
Prueba esto
select count(*) from table where cast(col as double) is null;
Prueba esto:
REGEXP ''^[a-z0-9]+$''
Como regexp no distingue entre mayúsculas y minúsculas, excepto para los campos binarios.
Su declaración coincide con cualquier cadena que contenga una letra o un dígito en cualquier lugar, incluso si contiene otros caracteres no alfanuméricos. Prueba esto:
SELECT * FROM table WHERE column REGEXP ''^[A-Za-z0-9]+$'';
^
y $
requieren que coincida toda la cadena en lugar de solo una parte de ella, y +
busca 1 o más caracteres alfanuméricos.
También puede usar una clase de caracteres nombrados si lo prefiere:
SELECT * FROM table WHERE column REGEXP ''^[[:alnum:]]+$'';
También hay esto:
select m from table where not regexp_like(m, ''^[0-9]/d+$'')
que selecciona las filas que contienen caracteres de la columna que desea (que es m en el ejemplo, pero puede cambiar).
La mayoría de las combinaciones no funcionan correctamente en las plataformas de Oracle, pero esto sí. Compartir para referencia futura.