在我的asp.net应用程序我有SqlDataSource的具有以下插入查询:插入结果
INSERT INTO Invitations (PatientId, PlanId)
SELECT TOP 10 Patients.Id, @PlanId
FROM Patients
所以基本上是从Patients
表中得到10行,将它们插入(某些值)到Invitations
表。 @PlanId
是传递给SqlDataSource的附加参数。
我需要的是将值插入名为Time
的第三列,其类型为time(0), not null
。但是,我想是这样的以某种方式产生此值:
为(I = 0;我< 10; ++ⅰ)时间= @InitialTime + I *区间
因此,例如:
row 1: PatientId = 0; PlanId = 555; Time = 12:00
row 2: PatientId = 1; PlanId = 555; Time = 12:05
row 3: PatientId = 2; PlanId = 555; Time = 12:10
所以我通过@InitialTime
PARAM,并在此基础上产生的时间字段一些间隔...
是否有可能在MSSQL?
你的意思是像'使用DateAdd(分钟,PatientId * @Interval,@InitialTime)'?或者,您是否期望'PatientId'是来自'select top'查询而没有'order by'子句的连续的基于零的值? – HABO
你为什么要这样计算时间?它不会映射到输入的时间。你问在SQL中如何做到这一点? –