Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erkennen Sie, ob ein Wert in SQL Server mindestens eine Zahl enthält

Manchmal müssen Sie eine Datenbanktabelle nur nach den Zeilen durchsuchen, die mindestens eine Zahl in einer bestimmten Spalte enthalten.

Genau genommen können Zahlen durch Wörter und andere Symbole dargestellt werden, aber für die Zwecke dieses Artikels bedeutet „Zahl“ „Ziffer“.

Nachfolgend finden Sie ein Beispiel für die Verwendung von T-SQL zum Suchen von Zeilen, die mindestens eine Zahl in SQL Server enthalten.

Beispiel

Angenommen, wir haben eine Tabelle namens Products mit den folgenden Daten in seinem ProductName Spalte:

SELECT ProductName 
FROM Products;

Ergebnis:

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

Diese Spalte enthält offensichtlich Zeichendaten, aber einige Zeilen enthalten Zahlen innerhalb dieser Zeichendaten (obwohl sie nicht als numerischer Typ gespeichert sind).

Wir können die folgende Abfrage verwenden, um nur die Zeilen zurückzugeben, die Zahlen enthalten, die durch numerische Ziffern dargestellt werden:

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

Ergebnis:

+-------------------------------------+
| ProductName                         |
|-------------------------------------|
| Smash 2000 Sledgehammer             |
| Chainsaw (includes 3 spare fingers) |
| Bottomless Coffee Mugs (4 Pack)     |
+-------------------------------------+

Wie erwartet werden nur die Zeilen zurückgegeben, die Zahlen enthalten.

Diese Technik ist nicht nur auf Zahlen beschränkt. Sie können diese Abfrage ändern, um bei Bedarf andere Zeichen einzuschließen. Alles, was wir tun, ist, unser eigenes Muster für LIKE anzugeben Betreiber.