两个日期列上的sql server 2008函数
我想为一个包含三列的表创建一个函数,如下所示:两个日期列上的sql server 2008函数,sql,sql-server-2005,Sql,Sql Server 2005,我想为一个包含三列的表创建一个函数,如下所示: insertDate datetime updateDate datetime activity integer 我想通过取两个日期列的差值来更新活动列…基本上updateDate-insertDate=活动列中的活动天数。我不知道如何启动它,每当插入新的insertDate或updateDate时,它都需要运行。由于此操作所需的所有数据都在表的同一行中,您可以创建一个。如果希望在行更新时更新实际列值,则需要查看。由于此操作所需的所有数据都在
insertDate datetime
updateDate datetime
activity integer
我想通过取两个日期列的差值来更新活动列…基本上updateDate-insertDate=活动列中的活动天数。我不知道如何启动它,每当插入新的insertDate或updateDate时,它都需要运行。由于此操作所需的所有数据都在表的同一行中,您可以创建一个。如果希望在行更新时更新实际列值,则需要查看。由于此操作所需的所有数据都在表的同一行中,因此可以创建一个。如果您想要在行更新时更新实际列值,则需要查看。您可以使用默认值
GETDATE()
填充[InsertDate]
,并在更新列时使用当前日期填充[updatedatedate]
(因为您正在使用过程(wink),这真的很容易控制)。如果您不使用过程并且想要控制。在[UpdateDate]
列中,可以使用触发器填充该列
将活动
列设为计算字段:
DATEDIFF(day, [InsertDate], [UpdateDate])
从MSDNabout计算列:
您可以使用默认值
GETDATE()
填充[InsertDate]
,并在更新列时使用当前日期填充[UpdateDate]
(因为您使用的是过程(wink),这非常容易控制)。如果您不使用过程并且想要控制。在[UpdateDate]
列中,可以使用触发器填充该列
将活动
列设为计算字段:
DATEDIFF(day, [InsertDate], [UpdateDate])
从MSDNabout计算列:
将此代码放入触发器中
update MyTable
set updateDate = GETDATE()
, activity = select (DATEDIFF(DAY, insertDate, GETDATE()))
将此代码放入触发器中
update MyTable
set updateDate = GETDATE()
, activity = select (DATEDIFF(DAY, insertDate, GETDATE()))
+1用于计算的场概念。我没有想到这一点,甚至比触发式方法更好+1用于计算的场概念。我没有想到这一点,甚至比触发式方法更好