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

Sådan registrerer du, om en værdi indeholder mindst et numerisk ciffer i MariaDB

Når du arbejder med MariaDB, kan du lejlighedsvis finde på at skulle returnere alle rækker, der indeholder mindst ét ​​numerisk ciffer.

I sådanne tilfælde kan du finde følgende eksempel nyttigt.

Eksempel

Antag, at vi har en tabel kaldet Products med følgende data i dens ProductName kolonne:

SELECT ProductName 
FROM Products;

Resultat:

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

Denne kolonne indeholder naturligvis tegndata, men nogle rækker indeholder tal inden for disse tegndata (selvom de ikke er gemt som en numerisk type).

Vi kan bruge følgende forespørgsel til kun at returnere de rækker, der indeholder tal repræsenteret med numeriske cifre:

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

Resultat:

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

Som forventet returneres kun de rækker, der indeholder tal.

I dette tilfælde brugte vi REGEXP funktion til at finde alle rækker, der matcher et mønster. Mønsteret omfatter alle numeriske cifre fra 0 til 9 plus et hvilket som helst andet tegn.


  1. Hvordan sammenligner man to databaseobjekter i Oracle?

  2. Bord med koordinater for et sekskantet gitter, der dækker verden

  3. SQL VÆLG MIN

  4. MariaDB-strengfunktioner (fuld liste)