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

Jak ISNUMERIC() działa w SQL Server

W SQL Server możesz użyć ISNUMERIC() funkcja, aby dowiedzieć się, czy wyrażenie jest numeryczne, czy nie.

Funkcja zwraca 1, jeśli wyrażenie jest liczbowe, i 0, jeśli nie jest.

Aby użyć tej funkcji, po prostu przekaż wartość/wyrażenie do funkcji podczas jej wywoływania.

Przykład 1 – Wyrażenie numeryczne

Oto przykład pokazujący, co się dzieje, gdy przekazujesz wyrażenie numeryczne do tej funkcji.

SELECT ISNUMERIC(250) AS Result;

Wynik:

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

W tym przypadku wartość jest liczbowa, a wynik to 1.

Otrzymujemy ten sam wynik, nawet jeśli wartość jest podana jako ciąg znaków (ujęty w pojedyncze cudzysłowy).

SELECT ISNUMERIC('250') AS Result;

Wynik:

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

Przykład 2 – Wyrażenie nieliczbowe

Oto, co się dzieje, gdy wartość jest nie numeryczne.

SELECT ISNUMERIC('Hey!') AS Result;

Wynik:

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

Przykład 3 – Przykład bazy danych

Oto przykład użycia ISNUMERIC() w WHERE klauzula podczas odpytywania bazy danych:

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

Wynik:

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

Zwraca to liczbę wszystkich wierszy z numerycznym kodem pocztowym.

Nieoczekiwane wyniki? Gdy nienumeryczne JEST Numeryczne

Niektóre znaki są traktowane jako numeryczne, nawet jeśli nie są liczbą. Jest to coś, o czym musisz pamiętać podczas korzystania z tej funkcji, w przeciwnym razie możesz uzyskać wyniki, których się nie spodziewasz.

Zobacz Znaki nieliczbowe, które zwracają wartość dodatnią podczas używania ISNUMERIC() po wyjaśnienie i przykłady.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodawanie tożsamości do istniejącej kolumny

  2. Scal wartości wierszy w CSV (vel GROUP_CONCAT dla SQL Server)

  3. SQL Server 2005 i tymczasowy zakres tabel

  4. Instalacja klastra pracy awaryjnej serwera SQL -3

  5. Schemat bazy danych, autoinkrementacja