In SQL Server kunt u de ISNUMERIC()
. gebruiken functie om uit te zoeken of een uitdrukking numeriek is of niet.
De functie retourneert 1 als de uitdrukking numeriek is, en 0 als dat niet het geval is.
Om deze functie te gebruiken, geeft u gewoon de waarde/expressie door aan de functie terwijl u deze aanroept.
Voorbeeld 1 – Numerieke uitdrukking
Hier is een voorbeeld om te demonstreren wat er gebeurt als u een numerieke uitdrukking aan deze functie doorgeeft.
SELECT ISNUMERIC(250) AS Result;
Resultaat:
+----------+ | Result | |----------| | 1 | +----------+
In dit geval is de waarde numeriek en is het resultaat 1.
We krijgen hetzelfde resultaat, zelfs als de waarde wordt opgegeven als een tekenreeks (tussen enkele aanhalingstekens).
SELECT ISNUMERIC('250') AS Result;
Resultaat:
+----------+ | Result | |----------| | 1 | +----------+
Voorbeeld 2 – Niet-numerieke uitdrukking
Dit is wat er gebeurt als de waarde niet is numeriek.
SELECT ISNUMERIC('Hey!') AS Result;
Resultaat:
+----------+ | Result | |----------| | 0 | +----------+
Voorbeeld 3 – Een databasevoorbeeld
Hier is een voorbeeld van het gebruik van ISNUMERIC()
in een WHERE
clausule bij het opvragen van een database:
USE WideWorldImportersDW; SELECT COUNT(*) AS [Count] FROM Dimension.Customer WHERE ISNUMERIC([Postal Code]) = 1;
Resultaat:
+---------+ | Count | |---------| | 402 | +---------+
Dit retourneert het aantal van alle rijen met een numerieke postcode.
Onverwachte resultaten? Wanneer niet-numeriek numeriek IS
Sommige tekens worden als numeriek beschouwd, zelfs als ze geen nummer zijn. Dit is iets waar u zich bewust van moet zijn wanneer u deze functie gebruikt, anders kunt u resultaten krijgen die u niet verwacht.
Zie niet-cijferige tekens die positief retourneren bij gebruik van ISNUMERIC()
voor uitleg en voorbeelden.