我希望在表中有一个列,它根据同一个表中的另一列计算值。
例如, 我有“有效期”表,列“DateManufactured”,“DateExpires” Date Expires列必须计算值,假设为Datemanufactured添加30天。 我们如何在Visual Studio2010-> DataSet Design->中执行此操作? DataTable Column->属性 - >表达 查看相关图片here
在SQL Server表达式方面,可能的表达方式是什么? 请建议最佳解决方案。
提前致谢。
答案 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)
这应该可以解决您的问题。只需将...替换为其他数据即可完成脚本,然后在应用程序中执行存储过程。
由于 Ĵ