我在一列中有这个可能的值
1
65
5 excellent
54
-1
-
.
如果我在最后一个示例中使用 isnumeric,我会得到 1,但是当我尝试转换为数字时,我收到错误。我想在函数中使用 try-catch 但不能,我该如何处理?
顺便说一句,一个更糟糕的例子是'-.'
, which isnumeric()
认为有效。
我的建议是在值中至少查找一位数字。恶心,但是:
isnumeric(val) and val like '%[0-9]%'
注意isnumeric()
还认为指数表示法中的某些内容是有效的。所以'8e4'
将测试为阳性。这对您来说可能不是问题,因为它将转换为有效值。这样的匹配在过去给我带来了问题,所以我倾向于使用类似的东西:
val not like '%[^0-9.]%' and val not like '%.%.%' and val like '%[0-9]%'
也就是说,它只有小数点和数字。而且,它没有两位小数。但是,它只适用于正值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)