sql >> Base de Datos >  >> RDS >> Mysql

usando mysql regex_replace con una expresión regular

Así:

SELECT regex_replace('^0+|[^0-9a-zA-Z]','',sometextfield)

Explicación

  • El regex_replace La función que está tratando de usar es para MySQL y no usa delimitadores como PHP, por lo que podemos eliminar el #
  • También podemos eliminar los paréntesis que no sirven para nada
  • El 0* debe cambiarse a 0+ , de lo contrario, estamos reemplazando una cadena vacía

¿Qué hace la expresión regular?

  • El ^ ancla afirma que estamos al principio de la cadena
  • 0+ coincide con uno o más ceros
  • O |
  • [^0-9a-zA-Z] coincide con un carácter que no es ni un dígito ni una letra