Une idée de pourquoi ISNUMERIC('0D0') = 1
est TRUE dans SQL Server 2008?Pourquoi "0D0" est-il considéré comme numérique dans SQL Server 2008?
Je valide les numéros d'identification d'un autre système, qui contient parfois des lettres que nous ne voulons pas apporter, mais cette combinaison est en train de trier le code (l'ID spécifique qu'il pense numérique est "005406257D6") . En aval nous faisons CONVERT(BIGINT, @val)
, ce qui est évidemment étouffant quand il trouve ces valeurs "D".
Quel cas particulier suis-je en train de rencontrer, et comment le comptabiliser?
+1 - On dirait qu'il fonctionne aussi pour 'E', mais pas pour AC (donc ce n'est pas une chose HEX) ... – JNK
Voir aussi http://stackoverflow.com/questions/2358147/best-equivalent-for-isinteger-in-sql-server la réponse par gbn est intéressant et mérite d'être essayé OMI .. –
@JNK afaik "D" signifie Decimal. –