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