una quitar numeros especiales ejemplo caracteres cadena alfanumericos mysql regex

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.