gpt4 book ai didi

sql - 为什么 ISNUMERIC ('.' ) 返回 1?

转载 作者:行者123 更新时间:2023-12-02 08:31:48 26 4
gpt4 key购买 nike

最近我在 SQL Server 中使用 ISNUMERIC 时遇到了一个问题,导致找到了这段代码。

SELECT ISNUMERIC('.')

这会返回 1,如 true 所示,难道不应该像 false 一样返回 0 吗?

最佳答案

参见IsNumeric() Broken? Only up to a point .

SELECT CAST('.' AS MONEY) 

返回0.00(尽管intfloat的转换失败)

ISNUMERIC 只是检查该值是否可以转换为任何一种数字数据类型,这通常是无用的。通常您想知道它是否可以转换为特定类型。

Additionally it doesn't even seem to do that task correctly for all possible inputs. 。尽管成功转换为 int 和 Money,ISNUMERIC(' ') 返回 0。相反,ISNUMERIC(N'8') 返回 1,但未成功转换为我尝试过的任何内容。

这里有一些有用的辅助函数 IsNumeric, IsInt, IsNumber .

SQL Server 2012 推出 TRY_PARSETRY_CONVERT这对此有很大帮助。

关于sql - 为什么 ISNUMERIC ('.' ) 返回 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7400318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com