Baza De Date.Ghid
în SQL Server, puteți utiliza funcția ISNUMERIC()
pentru a afla dacă o expresie este numerică sau nu.
funcția returnează 1 dacă expresia este numerică și 0 dacă nu este.
pentru a utiliza această funcție, pur și simplu treceți valoarea/expresia funcției în timp ce o apelați.
Exemplul 1 – expresie numerică
Iată un exemplu pentru a demonstra ce se întâmplă când transmiteți o expresie numerică acestei funcții.
SELECT ISNUMERIC(250) AS Result;
rezultat:
+----------+| Result ||----------|| 1 |+----------+
în acest caz, valoarea este numerică și rezultatul este 1.
obținem același rezultat chiar dacă valoarea este furnizată ca un șir (inclus în ghilimele simple).
SELECT ISNUMERIC('250') AS Result;
rezultat:
+----------+| Result ||----------|| 1 |+----------+
Exemplul 2-Expresie non-numerică
iată ce se întâmplă atunci când valoarea nu este numerică.
SELECT ISNUMERIC('Hey!') AS Result;
rezultat:
+----------+| Result ||----------|| 0 |+----------+
Exemplul 3 – Un exemplu de bază de date
Iată un exemplu de utilizare a ISNUMERIC()
într-o clauză WHERE
atunci când interogați o bază de date:
USE WideWorldImportersDW;SELECT COUNT(*) AS FROM Dimension.CustomerWHERE ISNUMERIC() = 1;
rezultat:
+---------+| Count ||---------|| 402 |+---------+
aceasta returnează numărul tuturor rândurilor cu un cod poștal numeric.
Rezultate Neașteptate? Când Non-Numeric este Numeric
unele caractere sunt tratate ca fiind numerice, chiar și atunci când nu sunt un număr. Acesta este un lucru de care trebuie să fiți conștienți atunci când utilizați această funcție, altfel ați putea obține rezultate la care nu vă așteptați.
a se vedea caractere non-numerice care returnează pozitiv atunci când se utilizează ISNUMERIC()
pentru o explicație și exemple.
Leave a Reply