Baza Danych.Przewodnik
w SQL Server możesz użyć funkcji ISNUMERIC()
, aby dowiedzieć się, czy wyrażenie jest liczbowe, czy nie.
funkcja zwraca 1, jeśli wyrażenie jest liczbowe, a 0, jeśli nie.
aby użyć tej funkcji, wystarczy przekazać 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 wynikiem jest 1.
otrzymujemy ten sam wynik, nawet jeśli wartość jest podana jako łańcuch znaków (zamknięty w pojedynczych cudzysłowach).
SELECT ISNUMERIC('250') AS Result;
wynik:
+----------+| Result ||----------|| 1 |+----------+
przykład 2-wyrażenie nieliczbowe
oto co się stanie, gdy wartość nie jest liczbowa.
SELECT ISNUMERIC('Hey!') AS Result;
wynik:
+----------+| Result ||----------|| 0 |+----------+
przykład 3-Przykład bazy danych
oto przykład użycia ISNUMERIC()
w klauzuli WHERE
podczas odpytywania bazy danych:
USE WideWorldImportersDW;SELECT COUNT(*) AS FROM Dimension.CustomerWHERE ISNUMERIC() = 1;
wyniki:
+---------+| Count ||---------|| 402 |+---------+
Zwraca liczbę wszystkich wierszy z numerycznym kodem pocztowym.
Nieoczekiwane Wyniki? Gdy nie-numeryczny jest numeryczny
, niektóre znaki są traktowane jako numeryczne, nawet jeśli nie są liczbami. Jest to coś, o czym musisz być świadomy podczas korzystania z tej funkcji, w przeciwnym razie możesz uzyskać wyniki, których się nie spodziewasz.
Zobacz znaki inne niż liczby, które zwracają wartość dodatnią podczas używania ISNUMERIC()
, aby uzyskać wyjaśnienie i przykłady.
Leave a Reply