MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come rilevare se un valore contiene almeno una cifra numerica in MariaDB

Quando lavori con MariaDB, potresti trovarti occasionalmente a dover restituire tutte le righe che contengono almeno una cifra numerica.

In questi casi, potresti trovare utile il seguente esempio.

Esempio

Supponiamo di avere una tabella chiamata Products con i seguenti dati nel suo ProductName colonna:

SELECT ProductName 
FROM Products;

Risultato:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Left Handed Screwdriver             |
| Right Handed Screwdriver            |
| Bottomless Coffee Cup               |
| Smash 2000 Sledgehammer             |
| Chainsaw (includes 3 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Questa colonna contiene ovviamente dati di carattere, ma alcune righe contengono numeri all'interno di tali dati di carattere (anche se non sono archiviati come tipo numerico).

Possiamo utilizzare la seguente query per restituire solo quelle righe che contengono numeri rappresentati da cifre numeriche:

SELECT ProductName 
FROM Products
WHERE ProductName REGEXP '[0-9]+';

Risultato:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Smash 2000 Sledgehammer             |
| Chainsaw (includes 3 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Come previsto, vengono restituite solo le righe che contengono numeri.

In questo caso, abbiamo utilizzato il REGEXP funzione per trovare tutte le righe che corrispondono a un modello. Il modello comprende tutte le cifre numeriche da 0 a 9 , più qualsiasi altro carattere.