当前位置:  开发笔记 > 数据库 > 正文

将数据类型varchar转换为float isnumeric = 1时出错

如何解决《将数据类型varchar转换为floatisnumeric=1时出错》经验,为你挑选了1个好方法。

当我运行脚本时:

select 
    cast(s as float)
from 
    t
where 
    ISNUMERIC(s) = 1

它会因错误而停止:

将数据类型varchar转换为float时出错.

为什么会这样?我试图转换为只浮数数字.我如何找出导致错误的行?



1> 小智..:

isnumeric函数认为几乎所有东西都是数字.请改用"try_convert".如果值无法转换为目标数据类型,则返回null.

select convert(float, '1,0,1')
where try_convert(float, '1,0,1') is not null

如果您使用的是旧版本的SQL,我会编写自己的函数.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有