【发布时间】:2018-07-08 01:56:23
【问题描述】:
我对 SQL 还很陌生,正在尝试在 sql server 中编写一个查询来获取每周的文档总和。我的查询如下所示:
SELECT
[table].[week],
SUM(ISNULL([table].[documents],0))
FROM
[table]
JOIN
(VALUES (15,187293),...other pairs...,(127,120918)) AS Outside ([ID],[Organization]) ON Outside.[ID]=[table].[ID]
AND Outside.[Organization] = [table].[Organization]
GROUP BY
week
这个相同的查询在不同的表(格式完全相同)上每周输出文档,但是当我在这个表上运行它时,我得到了错误
消息 245,第 16 级,状态 1,第 2 行
将 varchar 值“#N/A”转换为数据类型 int 时转换失败。
文档列中没有任何类似于 #N/A 的内容。我怎样才能适当地计算出这笔款项?
【问题讨论】:
-
它告诉您您的表中有
'#N/A'值,并且转换为int失败。这并不奇怪,该值不是数字。 -
猜测,
ID或Organisation是数据类型varchar。如果要存储数值,则应使用数值数据类型,而不是varchar。varchar不是一刀切的数据类型。
标签: sql sql-server