Ако имате колона в таблица на база данни на SQL Server, която съдържа данни за знаци, но някои редове също съдържат числа в тези данни, можете да използвате следната техника, за да върнете само тези редове, които не съдържат числа.
Числата могат да бъдат представени с думи и други символи, но за целите на тази статия „число“ означава „числова цифра“. Така че намираме стойности, които не съдържат никакви цифрови цифри.
Пример
Да предположим, че имаме колона със следните данни:
SELECT ProductName
FROM Products;
Резултат:
+-------------------------------------+ | 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 | +-------------------------------------+
Тази колона съдържа данни за знаци, но някои редове съдържат числа в рамките на тези знакови данни.
Можем да използваме следната заявка, за да върнем само онези редове, които не съдържат числа:
SELECT ProductName
FROM Products
WHERE ProductName NOT LIKE '%[0-9]%';
Резултат:
+--------------------------+ | ProductName | |--------------------------| | Left handed screwdriver | | Long Weight (blue) | | Long Weight (green) | | Straw Dog Box | | Right handed screwdriver | +--------------------------+
Както се очаква, се връщат само онези редове, които не съдържат числа.
Можем лесно да го обърнем и да променим NOT LIKE
до LIKE
за да върнете само онези редове, които правят съдържат числа.