当我运行脚本时:
select
cast(s as float)
from
t
where
ISNUMERIC(s) = 1
它因错误而停止:
为什么会发生?我正在尝试转换为仅浮点数。如何找出导致错误的行?
最佳答案
isnumeric 函数认为一切都是数字。改用“try_convert”。如果该值无法转换为目标数据类型,则返回 null。
select convert(float, '1,0,1')
where try_convert(float, '1,0,1') is not null
如果您使用的是旧版本的 SQL,我会编写自己的函数。
关于sql - 将数据类型 varchar 转换为 float isnumeric = 1 时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41633288/