cod*_*000 6 sql sql-server sql-server-2005
我有这个价值'0310D45'
我正在使用isnumeric来检查在转换为bigint之前值是否为数字.不幸的是,这个值正在通过isnumeric检查.所以我的查询没有说:
Msg 8114, Level 16, State 5, Line 3
Error converting data type varchar to bigint.
Run Code Online (Sandbox Code Playgroud)
处理这个问题最简单的方法是什么.我正在考虑使用charindex,但我必须检查所有26个字母.
是否有一个我没有看到的简单解决方案?我真的不想创建用户定义的函数.
谢谢
看一下这篇名为IsNumeric()的错误的文章?其中包含以下摘要:
摘要: T-SQL的ISNUMERIC()函数存在问题.它可以错误地将非数字字母和符号(例如D,E和£),甚至制表符(CHAR(9))解释为数字.
不幸的是,看起来IsNumeric看起来很奇怪,你将不得不编写几行T-SQL来解决它.(奇怪的是,我的意思是,如果评估的数据可以转换为任何数字类型,它将被转换.)
归档时间: |
|
查看次数: |
1255 次 |
最近记录: |