结果返回零

时间:2018-07-31 20:38:52

标签: sql sql-server tsql

不确定我在这里缺少什么。

我正在使用以下代码

DECLARE @sqlText nvarchar(4000)
SET @sqlText = N'SELECT InitialComment, DATEDIFF(d, InitialComment, GETDATE() ) AS Duration FROM dbo.SocialManagementTracker;'

DECLARE @newVal nvarchar(4000)
SET @newVal = ''

exec sp_executesql @sqlText, @newVal out

UPDATE dbo.SocialManagementTracker
SET DaysToResolve = @newVal
WHERE SocialID = 2

要比较的日期是2018/07/08和2018/08/31。我的结果应该是23。为什么返回0的任何原因呢?

2 个答案:

答案 0 :(得分:6)

我在这里没有看到任何动态SQL的原因...这应该可以正常工作:

UPDATE dbo.SocialManagementTracker
SET DaysToResolve =  DATEDIFF(day, InitialComment, GETDATE() )
WHERE SocialID = 2

答案 1 :(得分:1)

您可以在单个更新查询中简单地完成查询,如下所示。

<img src="{{ post.author.pic }}" />