Base de données.Guide
Dans SQL Server, vous pouvez utiliser la fonction ISNUMERIC()
pour savoir si une expression est numérique ou non.
La fonction renvoie 1 si l’expression est numérique, et 0 si ce n’est pas le cas.
Pour utiliser cette fonction, il suffit de passer la valeur/expression à la fonction tout en l’appelant.
Exemple 1 – Expression numérique
Voici un exemple pour démontrer ce qui se passe lorsque vous passez une expression numérique à cette fonction.
SELECT ISNUMERIC(250) AS Result;
Résultat:
+----------+| Result ||----------|| 1 |+----------+
Dans ce cas, la valeur est numérique et le résultat est 1.
Nous obtenons le même résultat même si la valeur est fournie sous forme de chaîne (entre guillemets simples).
SELECT ISNUMERIC('250') AS Result;
Résultat:
+----------+| Result ||----------|| 1 |+----------+
Exemple 2 – Expression non numérique
Voici ce qui se passe lorsque la valeur n’est pas numérique.
SELECT ISNUMERIC('Hey!') AS Result;
Résultat:
+----------+| Result ||----------|| 0 |+----------+
Exemple 3 – Un exemple de base de données
Voici un exemple d’utilisation de ISNUMERIC()
dans une clause WHERE
lors de l’interrogation d’une base de données:
USE WideWorldImportersDW;SELECT COUNT(*) AS FROM Dimension.CustomerWHERE ISNUMERIC() = 1;
Résultat:
+---------+| Count ||---------|| 402 |+---------+
Cela renvoie le nombre de toutes les lignes avec un code postal numérique.
Résultats inattendus ? Lorsque Non-Numeric EST Numeric
Certains caractères sont traités comme étant numériques, même s’ils ne sont pas un nombre. C’est quelque chose dont vous devez être conscient lorsque vous utilisez cette fonction, sinon vous pourriez obtenir des résultats auxquels vous ne vous attendez pas.
Voir Les caractères non numériques qui renvoient Positifs lors de l’utilisation de ISNUMERIC()
pour une explication et des exemples.
Leave a Reply