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

Sådan får du værdier, der ikke indeholder tal i MariaDB

Når du arbejder med MariaDB, kan du lejlighedsvis opleve, at du har brug for at returnere alle rækker, der ikke indeholder nogen tal.

Teknisk kan tal repræsenteres af ord og andre symboler, men for denne artikel betyder "tal" blot "numerisk ciffer". Så vi finder værdier, der ikke indeholder nogen numeriske cifre.

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 ikke indeholder nogen numeriske cifre:

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

Resultat:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

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

I dette tilfælde brugte vi NOT REGEX 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.

Dette kunne også skrives sådan her:

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

Resultat:

+--------------------------+
| ProductName              |
+--------------------------+
| Left Handed Screwdriver  |
| Right Handed Screwdriver |
| Bottomless Coffee Cup    |
+--------------------------+

Samme output.


  1. Kan ikke oprette forbindelse til Postgres via PHP, men kan oprette forbindelse fra kommandolinjen og PgAdmin på en anden maskine

  2. Hvordan kan jeg korrekt bruge et PDO-objekt til en parameteriseret SELECT-forespørgsel

  3. Android - Cursor onMapReady (Markører)

  4. T-SQL - Aliasing ved hjælp af =versus som