sql >> Database teknologi >  >> RDS >> Sqlserver

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

Hvis du har en kolonne i en SQL Server-databasetabel, der indeholder tegndata, men nogle rækker også indeholder tal i disse data, kan du bruge følgende teknik til kun at returnere de rækker, der ikke indeholder tal.

Tal kan repræsenteres af ord og andre symboler, men i denne artikels formål betyder "tal" "numerisk ciffer". Så vi finder værdier, der ikke indeholder nogen numeriske cifre.

Eksempel

Antag, at vi har en kolonne med følgende data:

SELECT ProductName 
FROM Products;

Resultat:

+-------------------------------------+
| ProductName                         |
|-------------------------------------|
| Left handed screwdriver             |
| Long Weight (blue)                  |
| Long Weight (green)                 |
| Smash 2000 Sledgehammer             |
| Chainsaw (includes 3 spare fingers) |
| Straw Dog Box                       |
| Bottomless Coffee Mugs (4 Pack)     |
| Right handed screwdriver            |
+-------------------------------------+

Denne kolonne indeholder tegndata, men nogle rækker indeholder tal i disse tegndata.

Vi kan bruge følgende forespørgsel til kun at returnere de rækker, der ikke indeholde tal:

SELECT ProductName 
FROM Products
WHERE ProductName NOT LIKE '%[0-9]%';

Resultat:

+--------------------------+
| ProductName              |
|--------------------------|
| Left handed screwdriver  |
| Long Weight (blue)       |
| Long Weight (green)      |
| Straw Dog Box            |
| Right handed screwdriver |
+--------------------------+

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

Vi kan nemt vende den rundt og ændre NOT LIKE til LIKE for kun at returnere de rækker, der gør indeholde tal.


  1. MySQL-forberedte erklæringer

  2. [Video] Introduktion til JSON-datatyper i PostgreSQL

  3. SQLite udtryksbaseret indeks

  4. SQL Server Inner Join Basics med eksempler