微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver在调用存储过程中遇到convert转换失败问题的解决方法

今天在sqlserver中,调用存储过程中遇到convert转换数据失败,导致后面的存储过程语句未执行的问题。当前还没有了解具体原因

主要是因为在使用substring函数时,字符串越界,不过substring函数到没有出现问题,而导致下句调用convert转换时语句未能继续下去

(  

set @tempstr = substring(@str,@ipos + 1,@i - @ipos)少减去1
  /*print @tempstr*/ 
  set @param1 = convert(float,@tempstr)

set @tempstr = substring(@str,@i - @ipos - 1)
  /*print @tempstr*/ 
  set @param1 = convert(float,@tempstr)

先做下记录

以后在调用convert等转换函数时需要做次判断处理,在继续转换处理,防止以后出现类似的问题。


case when isdate(col)=1then'可以转换为数字'isnumeric可以转换为日期else既不能转换为数字,也不能转换为日期end

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐