【发布时间】:2017-08-20 23:42:30
【问题描述】:
当我使用以下 SQL 代码时,我收到此错误:
将数据类型 varchar 转换为 float 时出错
我的代码:
select
[DEVELOPIN],
avg([DEVELOPINGCOST]) as [AVG DEVELOPINGCOST],
avg([SOFTWARECOST]) as [ AVG SOFTWARECOST],
ISNULL(AVG([DEVELOPINGCOST] / NULLIF([SOLDCOPIES], 0)), 'No Sale') as [AVG PER Sale]
from
[dbo].[SOFTWARE]
group by
[DEVELOPIN]
错误已被隔离到这个表达式:
ISNULL(AVG([DEVELOPINGCOST] / NULLIF([SOLDCOPIES], 0)), 'No Sale') as [AVG PER Sale]
【问题讨论】:
-
1.通过一次仅选择 一个 字段并隔离导致问题的字段来完成一些基本故障排除。 2. 导致您的问题的字段的数据类型是什么?
-
ISNULL(AVG([DEVELOPINGCOST]/NULLIF([SOLDCOPIES],0)),'No Sale') as [AVG PER Sale]
-
我会编辑你的问题。在我编辑您的问题后,请对其进行编辑并添加这些字段的数据类型
-
以下代码工作正常:选择 [DEVELOPIN],avg([DEVELOPINGCOST])as [AVG DEVELOPINGCOST],avg([SOFTWARECOST]) as [AVG SOFTWARECOST], ISNULL(AVG([DEVELOPINGCOST] /NULLIF([SOLDCOPIES],0)),'0') as [AVG PER Sale] from [dbo].[SOFTWARE] GROUP BY [DEVELOPIN]
标签: sql sql-server-2012 isnull type-conversion