Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać wartości, które nie zawierają liczb w SQL Server?

Jeśli masz kolumnę w tabeli bazy danych SQL Server, która zawiera dane znakowe, ale niektóre wiersze zawierają również liczby w tych danych, możesz użyć poniższej techniki, aby zwrócić tylko te wiersze, które nie zawierają liczb.

Liczby mogą być reprezentowane przez słowa i inne symbole, ale na potrzeby tego artykułu „liczba” oznacza „cyfrę”. Więc znajdujemy wartości, które nie zawierają żadnych cyfr.

Przykład

Załóżmy, że mamy kolumnę z następującymi danymi:

SELECT ProductName 
FROM Products;

Wynik:

+-------------------------------------+
| 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            |
+-------------------------------------+

Ta kolumna zawiera dane znakowe, ale niektóre wiersze zawierają liczby w ramach tych danych znakowych.

Możemy użyć następującego zapytania, aby zwrócić tylko te wiersze, które nie zawierać cyfry:

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

Wynik:

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

Zgodnie z oczekiwaniami zwracane są tylko te wiersze, które nie zawierają liczb.

Możemy go łatwo odwrócić i zmienić NOT LIKE to LIKE aby zwrócić tylko te wiersze, które robią zawierają liczby.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać klauzuli Where w instrukcji Select w SQL Server — samouczek SQL Server / TSQL, część 109

  2. Jak usunąć lub usunąć wszystkie wyzwalacze z bazy danych w SQL Server

  3. SQL — wywołanie procedury składowanej dla każdego rekordu

  4. CTE, aby uzyskać wszystkie dzieci (potomków) rodzica

  5. Nierówne <> !=operator na NULL