注意:很难解释这种复杂的情况,特别是当你的母语不是英语时。对不起,如果难以理解的话!
这是我的代码:
ALTER PROC [dbo].[Date]
AS
BEGIN
SELECT ( dbo.Formula([Work], [Total]) ) AS [Finish],
Datediff(day, [Finish], [Start]) AS [Days Planned]
FROM [Table1]
END
我在[Finish]
上有一个Null
列,[Table1]
因此,DATEDIFF(day,[Finish],[Start])
函数会按预期提供Null
个值
我已经在此存储过程中创建了[Finish]
列,如您所见。
dbo.Formula
是一个给出日期类型结果的函数。
[Start]
是填充了日期类型数据的日期类型列
我知道我可以使用DATEDIFF(day,(dbo.Formula([Work],[Total])),[Start])
来计算dateiff,但由于某些原因,我使用它并不是很方便。
[Finish]
上还有[Table1]
列。
有没有办法将数据从(dbo.Formula([Work],[Total]))
打印到我的[Finish]
列?然后在datediff函数中使用它?
答案 0 :(得分:0)
ALTER PROC [dbo].[Date]
AS
begin
declare @var date
Select @var= dbo.NewFinishDate([Work], [Total]) from [Table1]
SELECT @var AS [Finish],Datediff(day, [Start], @var ) AS [Days Planned]
FROM [Table1]
END
我为我的功能添加了一个paremeter。它运作良好。