为什么ISNUMERIC = 0返回带空格和'/'的数字? 这是SQL Server 2008 R2 BTW
谢谢大家,
代码示例:
SELECT A AS 'VARCHARCOLUMN' FROM TABLE
WHERE ISNUMERIC(A) = 0
TABLE Structure:
----------------------
A | B | C |
----------------------
x | | |
. | | |
p | | |
1 7/2 | | |
15. | | |
5 | | |
Result set:
----------------------
A | B | C |
----------------------
x | | |
p | | |
1 7/2 | | | <- Why is this returned???
答案 0 :(得分:0)
因为这些都不算数字。值'1 7/2'不是数值 - 它是一个字符串(斜杠和空格是非数字的)。
答案 1 :(得分:0)
当表达式是有效的数字类型时,SQL Server中的IsNumeric函数仅返回true。它并不理解表达式是1和7的八分之一。它将此视为一个字符串。 MSDN IsNumeric Reference