在Sql Server表中增加触发器计算日期列距离当天的天数

使用场景说明:

        表"UserBase"中存有一列数据是日期格式的数据datatime,列名为注册时间,字段名"Regtime";

        想要计算出注册时间到今天是多少天;插入到新的列,列名为注册天数,字段名"Regday";而且随着时间变换注册天数一直在变;

触发器命令:

-- UserBase表增加Regday列,类型为varchar(50),
ALTER TABLE UserBase add Regday varchar(50)

-- 增加触发器,找到用户ID不为空的数据,然后监控字段Regtime,统计天数更新到Regday

create trigger UserBase_Regday_update
on UserBase
after update
as
begin
    if update(userId)
        declare @userId int;
        select @userId=userId from inserted;--inserted表示当前修改的数据行

        IF @userId<>''
            update UserBase set Regday=DateDiff(day,getdate(),Regtime) where id in (select id from inserted);
            update UserBase set Regday='' where  Regtime='' and id in (select id from inserted);
end

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值