ISNUMERIC('07213E71')=真的吗?

Cur*_*urt 12 sql sql-server-2005 isnumeric

SQL正在检测以下字符串ISNUMERIC:

'07213E71'

我相信这是因为'E'被归类为数学符号.

但是,我需要确保只有整数的值才返回True.

我怎样才能做到这一点?

gbn*_*gbn 21

07213E71 是一个带有71个零的浮点数7213

您可以使用它ISNUMERIC(myValue + '.0e0')来测试整数.有点神秘,但有效.

另一个测试是双重否定myValue NOT LIKE '%[^0-9]%',只允许数字0到9.

ISNUMERIC有其他问题,这些都返回1: ,,+-