Niespójność w PARSE i ISNUMERIC

12-Wrz-2013

Wydawać by się mogło, że jeśli funkcja ISNUMERC stwierdziła, że przekazany w argumencie tekst jest poprawnym wyrażeniem numerycznym, to funkcja PARSE powinna umieć ten napis poprawnie skonwertować na liczbę. Tymczasem:

SELECT ISNUMERIC(‘1E3’) zwraca true

SELECT PARSE(‘1E3 As FLOAT) zwraca 1000, czyli póki co wszystko działa.

Ale:

SELECT ISNUMERIC(‘1+E3’) zwraca true

SELECT PARSE(‘1+E3 As FLOAT) zwraca błąd. I posprzątane!

 

Dodaj komentarz:

Autor: Rafał Kraik