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

Sådan registrerer du, om en værdi indeholder mindst ét ​​numerisk ciffer i MySQL

Hvis du skal returnere alle rækker, der indeholder mindst ét ​​numerisk ciffer i MySQL, kan følgende eksempel være 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            |
| 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 indeholder tal repræsenteret med numeriske cifre:

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

Resultat:

+-------------------------------------+
| ProductName                         |
+-------------------------------------+
| Smash 2000 Sledge Hammer            |
| Chainsaw (Includes 5 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

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

I dette tilfælde brugte vi MySQL's 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. Har rækkefølgen af ​​kolonner i en WHERE-sætning betydning?

  2. Sådan installeres SQL Server på en Mac med VirtualBox

  3. Sammenlægning af datafiler med Statistica, del 1

  4. Sådan formateres tal som valuta i MySQL