SQL表列,使用同一表中另一列的输入

时间:2012-06-10 16:04:14

标签: visual-studio-2010 sql-server-2008 dataset

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

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

在SQL Server表达式方面,可能的表达方式是什么? 请建议最佳解决方案。

提前致谢。

3 个答案:

答案 0 :(得分:0)

我相信您正在寻找DateAdd

SELECT DATEADD(day, 30, '15 Dec 1988')

答案 1 :(得分:0)

select dateadd(day,30,getdate())

这将采用当前日期(getdate()) 添加30天。

答案 2 :(得分: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)

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

由于 Ĵ