SQL Server de la fonction ISNUMERIC

J'ai besoin de vérifier une colonne numérique ou pas dans SQL Server 2012.

Ce mon cas code.

CASE
    WHEN ISNUMERIC(CUST_TELE) = 1 
      THEN CUST_TELE 
      ELSE NULL 
END AS CUSTOMER_CONTACT_NO

Mais quand le '78603D99' valeur est atteinte, il retourne 1 qui signifie SQL Server considéré cette chaîne numérique.

Pourquoi est-ce?

Comment faire pour éviter ce genre de problèmes?

ISNUMERIC répond à la question que personne ne veut poser "cette chaîne Peut être converti à aucun type de données numérique (je n'ai pas entretien les types et je ne veux pas que vous me dites)?". 78603D99 est une chaîne valide qui peut être converti en float.

OriginalL'auteur weeraa | 2015-08-21