Dans Oracle, est-il possible de faire correspondre à la fois un format de chaîne particulier et une chaîne vide en utilisant une seule regex?Possibilité de créer une expression régulière Oracle capable de correspondre à NULL?
Quelque chose le long des lignes de:
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE('12345', '^([1-5]{5})|NULL$');
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE('', '^([1-5]{5})|NULL$');
SELECT 1
FROM DUAL
WHERE REGEXP_LIKE(NULL, '^([1-5]{5})|NULL$');
où la partie « NULL » du regex est traitée comme une classe de caractères plutôt qu'une chaîne littérale et les trois requêtes renvoient 1.
I » m écrivant des routines de validation de données et souhaitant stocker/utiliser une seule regex pour déterminer à la fois le format et si la chaîne d'entrée peut être vide - plutôt que de spécifier ces règles de validation séparément pour chaque élément de données.
Merci, Jeff
C'est une bonne solution. Merci! – jlpp