Firebird SQL – Verifica presenza numeri in una stringa
Dalla versione 2.5 Firebird introduce il predicato “SIMILAR TO” che permette di applicare un sottoinsieme di regular expression in una condizione SQL.
La documentazione del predicato “SIMILAR TO” è disponibile alla pagina https://firebirdsql.org/refdocs/langrefupd25-similar-to.html
Se volessimo controllare se all’interno di una strina sono presenti numeri (DIGIT), cioè caratteri da ‘0’ a ‘9’ potremmo semplicemente scrivere :
1 2 |
SELECT 'PRESENTI' AS RISULTATO FROM RDB$DATABASE WHERE 'AG8G9SG' SIMILAR TO '%[[:DIGIT:]]{1}%' |
in questo caso l’espressione
‘AG8G9SG’ SIMILAR TO ‘%[[:DIGIT:]]{1}%’ –> True
‘Giorgio’ SIMILAR TO ‘%[[:DIGIT:]]{1}%’ –> False
Spero sia stato utile…