0

我想在表中有一个列,它根据同一个表中的另一列计算值。

例如,我有“有效期”表,其中包含“DateManufactured”、“DateExpires”列。Date Expires 列必须计算值,假设为 Datemanufactured 添加 30 天。我们如何在 Visual Studio2010->DataSet Design->DataTable Column->Properties->Expression 中执行此操作 请在此处查看相关图片

就 SQL Server 表达式而言,可能的表达式是什么?请提出最佳解决方案。

提前致谢。

4

3 回答 3

0

我相信您正在寻找DateAdd

SELECT DATEADD(day, 30, '15 Dec 1988')
于 2012-06-10T16:13:37.100 回答
0
select dateadd(day,30,getdate())

这将需要当前日期(getdate())添加 30 天。

于 2012-06-10T16:14:03.930 回答
0

我建议创建一个存储过程,将您的数据插入到您的表中,并使用需要插入的值的参数。然后您可以根据您的日期参数进行计算。例子:

Create Procedure InsertValidity
(
  @City varchar(20),
  @Area varchar(20),
  ...
  @DatePosted datetime,
  ...
  @UserID
)

as

declare @DurationFrom datetime
set @DurationFrom = (select DATEADD(dd,30,@DatePosted)

insert into Validity (City, Area, ..., DatePosted, ... UserID)
values(@City, @Area, ..., @DatePosted,...@DurationFrom,...@UserID)

这应该可以解决您的问题。只需通过将 ... 替换为您的其他数据来完成脚本,然后在您的应用程序中执行存储过程。

于 2012-06-11T07:20:15.637 回答