【问题标题】:Msg 8114, Level 16, State 5, Line 3 Error converting data type varchar to float消息 8114,级别 16,状态 5,第 3 行将数据类型 varchar 转换为浮点数时出错
【发布时间】:2017-08-30 15:30:27
【问题描述】:

我正在尝试应用我的脚本的 where 子句

set ansi_nulls off

select
    Name, Count(Distinct [Document Name])
from 
    dbo.timeless
where 
    origin in ('2', 'I', 'E')
    and [svs check] IN ('0', '.', 'NO', 'OK', '#N/A')

然后我得到错误

消息 8114,第 16 级,状态 5,第 3 行
将数据类型 varchar 转换为 float 时出错

当我注释掉 [svs check] 时,一切正常。所以问题出在[svs check]。请帮忙。

【问题讨论】:

  • 字段的数据类型是什么[svs check]

标签: sql-server tsqlt


【解决方案1】:

我猜dbo.timeless.svscheck 的类型是浮点数,您无法将其与字符串文字进行比较。

我建议首先使用CAST(svs as VARCHAR(10)) 将其转换为 varchar,尽管我怀疑如果它真的是浮动的,你的 where 子句是否会起作用,因为你正在对照字符串文字检查它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 2017-06-01
    相关资源
    最近更新 更多