sql >> Database teknologi >  >> RDS >> Mysql

Find værdier, der ikke indeholder tal i MySQL

Hvis du har brug for at returnere alle rækker, der ikke indeholder nogen tal, kan det følgende hjælpe.

Strengt taget 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            |
| Long Weight (blue)                  |
| Long Weight (green)                 |
| Smash 2000 Sledge Hammer            |
| Chainsaw (Includes 5 spare fingers) |
| Straw Dog Box                       |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Denne kolonne indeholder tegndata, men nogle rækker indeholder tal i 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 |
| Long Weight (blue)       |
| Long Weight (green)      |
| Straw Dog Box            |
+--------------------------+

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

Her brugte vi MySQL's 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 |
| Long Weight (blue)       |
| Long Weight (green)      |
| Straw Dog Box            |
+--------------------------+

  1. Sådan installeres den seneste MySQL 8 på Debian 10

  2. Sådan gendannes tilliden til en fremmednøglebegrænsning i SQL Server (T-SQL-eksempler)

  3. MySQL strip ikke-numeriske tegn for at sammenligne

  4. Trin for trin opgraderingsproces til R12.2 Upgrade part -2 (Main Upgrade Driver for R12.2.0)