【发布时间】:2014-01-10 21:39:08
【问题描述】:
我找到了很多类似的帖子,但由于某种原因,我仍然无法让我的 SQL 脚本工作......
我想要做的是在 2 个日期之间取 DATEFIFF 并获得 2 个日期之间的 DAYS...
然后把它变成int,这样我就可以用它做一些简单的数学运算......
这是我的代码的样子...
'setting the vars
set @vendor = '%%'
set @sku = '%%'
set @startdate = '12-12-1900'
set @enddate = '12-12-2020'
set @dateDIFF = DATEDIFF(DAY,@startdate,@enddate)
select
count(*) as [count]
,[inventory].[ParentSKU]
, @dateDIFF as [days left]
,(sum([Inventory].[QOH]) -count(*)) * @datediff
,sum ([inventory].[QOH])
from
[order details]
join
[inventory] on [order details].[sku] = [inventory].[localsku]
where
[order details].[SKU] like @sku
and [Order Details].[DateShipped] between @startdate and @enddate
and [Inventory].[text1] like @vendor
group by
[Inventory].[ParentSKU]
order by
[count] desc
但无论我尝试什么,我总是得到......
消息 8115,第 16 级,状态 2,第 16 行
将表达式转换为数据类型 int 的算术溢出错误。
【问题讨论】:
-
@dateDIFF的类型是什么。应该是work fine -
你的表中的列和变量的数据类型是什么?此外,您应该对日期常量本身使用 ANSI 标准表示法(YYYY-MM-DD 或 YYYYMMDD)。
标签: asp.net sql type-conversion