sql >> Base de Datos >  >> RDS >> Oracle

Oracle regex:no comienza ni termina con

La prueba de no coincidencia como esta puede ser complicada, por lo que recomiendo probar una coincidencia y negar el resultado.

No comienza con abc :

WHERE NOT REGEXP_LIKE(myString, '^abc')

no termina con abc :

WHERE NOT REGEXP_LIKE(myString, 'abc$')

En cuanto a por qué no funciona, como dice @DavidKnipe en su respuesta:es porque estás usando clases de caracteres. La expresión regular ^[^(abc)] analiza así:

  • El primer ^ dice "ancla al principio de la cadena"
  • El [^(abc)] es una clase de carácter que dice "coincidir con cualquier single carácter siempre que no sea ( o a o b o c o ) ".