永发信息网

SQL更新日期 一张表2个字段,date1,date2 输入date1,通过触发器得出DATE2

答案:2  悬赏:0  手机版
解决时间 2021-02-07 11:19
  • 提问者网友:不爱我么
  • 2021-02-07 04:41
SQL触发器更新日期
一张表2个字段,date1,date2
输入date1,通过触发器得出DATE2
要求:如果DATE1的日<25,那么DATE2为当月25号,如果DATE1的日>=25,那么DATE2为下月25号
举例,DATE1为2011-10-10,那么DATE2为2011-10-25,DATE1为2011-11-26,那么DATE2为2012-1-25

SQL SERVER的
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-02-07 05:47
create trigger MyTr
on 一张表
for update
as
if update(date1)
update 一张表
set date2=(
case when
day(a.date1)<25
then
cast(year(a.date1) as varchar(4))+'-'+cast(month(a.date1) as varchar(2))+'-25'
else
cast(year(adddate(mm,1,a.date1)) as varchar(4))+'-'+cast(adddate(mm,1,month(a.date1)) as varchar(2))+'-25'
end)
from inserted as a inner join 一张表 as b
on inserted.主键=b.主键
全部回答
  • 1楼网友:北城痞子
  • 2021-02-07 06:09
CREATE TRIGGER 触发器名_ins_upd ON 表名 FOR INSERT, UPDATe AS IF UPDATE(Date1) BEGIN declare @d datetime set @d=(select Date1 from inserted ) if DAY(@d) < 25 UPDATE inserted SET Date2=25 else if DAY(@d) >= 25 UPDATE inserted SET Date2=DATEADD(month, 1, @d) END
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯