sql >> Databáze >  >> RDS >> Sqlserver

Jak ISNUMERIC() funguje v SQL Server

V SQL Server můžete použít ISNUMERIC() funkce pro zjištění, zda je výraz číselný či nikoli.

Funkce vrátí 1, pokud je výraz číselný, a 0, pokud není.

Chcete-li tuto funkci použít, jednoduše předejte hodnotu/výraz funkci při jejím volání.

Příklad 1 – Číselný výraz

Zde je příklad demonstrující, co se stane, když této funkci předáte číselný výraz.

SELECT ISNUMERIC(250) AS Result;

Výsledek:

+----------+
| Result   |
|----------|
| 1        |
+----------+

V tomto případě je hodnota číselná a výsledek je 1.

Dostaneme stejný výsledek, i když je hodnota poskytnuta jako řetězec (uzavřený v jednoduchých uvozovkách).

SELECT ISNUMERIC('250') AS Result;

Výsledek:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Příklad 2 – Nečíselný výraz

Co se stane, když hodnota není číselné.

SELECT ISNUMERIC('Hey!') AS Result;

Výsledek:

+----------+
| Result   |
|----------|
| 0        |
+----------+

Příklad 3 – Příklad databáze

Zde je příklad použití ISNUMERIC() v WHERE klauzule při dotazu na databázi:

USE WideWorldImportersDW;
SELECT COUNT(*) AS [Count]
FROM Dimension.Customer
WHERE ISNUMERIC([Postal Code]) = 1;

Výsledek:

+---------+
| Count   |
|---------|
| 402     |
+---------+

Tím se vrátí počet všech řádků s číselným poštovním směrovacím číslem.

Neočekávané výsledky? Když Nečíselné JE Číselné

Některé znaky jsou považovány za číselné, i když to nejsou čísla. To je něco, na co si musíte být vědomi při používání této funkce, jinak byste mohli získat výsledky, které neočekáváte.

Viz Nečíselné znaky, které se vrátí jako kladné při použití ISNUMERIC() pro vysvětlení a příklady.


  1. ListView neukazuje správné obrázky, které jsou ve výkresu podle jejich názvu ve sqlite

  2. Nelze nainstalovat PostgreSQL:Při spouštění runtime instalačního programu Microsoft VC++ v systému Windows XP došlo k chybě

  3. Vraťte název místního serveru v SQL Server s @@ SERVERNAME

  4. Je Oracle SYS_GUID() UUID RFC 4122 kompatibilní?