今天在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] 举报,一经查实,本站将立刻删除。