Om du har en kolumn i en SQL Server-databastabell som innehåller teckendata, men vissa rader också innehåller siffror i den datan, kan du använda följande teknik för att returnera bara de rader som inte innehåller siffror.
Siffror kan representeras av ord och andra symboler, men för denna artikels syfte betyder "nummer" "numerisk siffra". Så vi hittar värden som inte innehåller några numeriska siffror.
Exempel
Anta att vi har en kolumn med följande 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 | +-------------------------------------+
Den här kolumnen innehåller teckendata, men vissa rader innehåller siffror i teckendata.
Vi kan använda följande fråga för att returnera bara de rader som inte gör det innehålla siffror:
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 förväntat returneras endast de rader som inte innehåller siffror.
Vi kan enkelt vända på det och ändra NOT LIKE
till LIKE
för att endast returnera de rader som gör innehålla siffror.