sql >> Databasteknik >  >> RDS >> Sqlserver

Hur ISNUMERIC() fungerar i SQL Server

I SQL Server kan du använda ISNUMERIC() funktion för att ta reda på om ett uttryck är numeriskt eller inte.

Funktionen returnerar 1 om uttrycket är numeriskt och 0 om det inte är det.

För att använda den här funktionen, skicka helt enkelt värdet/uttrycket till funktionen medan du anropar den.

Exempel 1 – Numeriskt uttryck

Här är ett exempel för att visa vad som händer när du skickar ett numeriskt uttryck till den här funktionen.

SELECT ISNUMERIC(250) AS Result;

Resultat:

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

I det här fallet är värdet numeriskt och resultatet är 1.

Vi får samma resultat även om värdet anges som en sträng (omsluten av enkla citattecken).

SELECT ISNUMERIC('250') AS Result;

Resultat:

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

Exempel 2 – Icke-numeriskt uttryck

Här är vad som händer när värdet är inte numerisk.

SELECT ISNUMERIC('Hey!') AS Result;

Resultat:

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

Exempel 3 – Ett databasexempel

Här är ett exempel på hur du använder ISNUMERIC() i en WHERE klausul när du frågar efter en databas:

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

Resultat:

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

Detta returnerar antalet av alla rader med ett numeriskt postnummer.

Oväntade resultat? När icke-numeriskt ÄR numeriskt

Vissa tecken behandlas som numeriska, även när de inte är ett nummer. Detta är något du måste vara medveten om när du använder den här funktionen, annars kan du få resultat som du inte förväntar dig.

Se icke-siffertecken som returnerar positivt när du använder ISNUMERIC() för en förklaring och exempel.


  1. Skriv snabb pandas dataram till postgres

  2. brew installera mysql på macOS

  3. Förstå "tid" lagringsstorlek i SQL Server

  4. Använd sammansatt primärnyckel som främmande nyckel