gpt4 book ai didi

SQL Server 2005 IsNumeric 未捕获 '0310D45'

转载 作者:行者123 更新时间:2023-12-02 17:36:16 26 4
gpt4 key购买 nike

我得到了这个值“0310D45”

我使用 isnumeric 在转换为 bigint 之前检查值是否为数字。不幸的是,这个值通过了 isnumeric 检查。所以我的查询失败了:

Msg 8114, Level 16, State 5, Line 3
Error converting data type varchar to bigint.

处理这个问题最简单的方法是什么?我正在考虑使用 charindex 但我必须检查所有 26 个字母。

有没有我没有看到的简单解决方案?我真的不想创建用户定义的函数。

谢谢

最佳答案

看看这篇名为 What is wrong with IsNumeric()? 的文章其中包含以下摘要:

Abstract: T-SQL's ISNUMERIC() function has a problem. It can falsely interpret non-numeric letters and symbols (such as D, E, and £), and even tabs (CHAR(9)) as numeric.

不幸的是,IsNumeric 看起来很奇怪,您必须编写几行 T-SQL 来解决它。 (奇怪我的意思是,如果评估的数据可以转换为任何数字类型,那么它就会被转换。)

关于SQL Server 2005 IsNumeric 未捕获 '0310D45',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2625026/

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