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

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的

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个回答  2011-11-27
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

SQL更新日期 一张表2个字段,date1,date2 输入date1,通过触发器得出DATE...
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 varch...

如果date是个类,date1是一个已定义的date类对象,那么用date date2=date...
可以,但是需要注意重载=操作符和拷贝构造函数。

access里面的datediff("d",date1,date2)和datediff("y",date1,date2...
DateDiff ( interval,date1,date2),这里的interval是用来控制比较结果的单位,d表示天数,表示结果是两个日期间隔的天数;y表示年数,表示两个日期间隔的年数。

mysql触发器使日期相加减?
1. MySQL 为日期增加一个时间间636f7079e79fa5e9819331333361306361隔:date_add()set @dt = now();select date_add(@dt, interval 1 day); - 加1天 select date_add(@dt, interval 1 hour); -加1小时 select date_add(@dt, interval 1 minute); - 加1分钟 select date_add(...

C++,定义两个日期类的对象 date1,date2。可以进行设置日期和显示日期...
include<iostream> using namespace std; class Date{ public: void showDate(); void setYear(int); void setMonth(int); void setDay(int); Date(int y,int m,int d){ this->year=y; this->month=m; this->day=d; } Date(){} private: int year; int month; int day; }; ...

偏斜一个简单计算器程序,输入格式为:date1 op date2 . 其中 date1 和...
include "math.h"void main(){float data1,data2;char a;printf("input:");scanf("%f,%f,%c",&data1,&data2,&a);switch (a){case '+':printf("%f%c%f=%f\\n",data1,a,data2,data1+data2);break;case '-':printf("%f%c%f=%f\\n",data1,a,data2,data1-data2);break;case...

datediff(d,date1,date2)<0竟然没作用
sql语法是不一样的.应该是 Sql="Select id,title,addtime From notice Where #"DateDiff(d,addtime,"&date()&")"#>0"加个

更新的sql语句怎么写
要更新的视图的名称。通过 view_name 来引用的视图必须是可更新的。用 UPDATE 语句进行的修改,至多只能影响视图的 FROM 子句所引用的基表中的一个。有关可更新视图的更多信息,请参见 CREATE VIEW。rowset_function_limitedOPENQUERY 或 OPENROWSET 函数,视提供程序功能而定。有关提供程序所需功能的更多信息,请参见...

SQL触发器(修改为当前日期)
SQL触发器(修改为当前日期)create trigger trg_shr2 on ykjh for update as if update(shr2)update ykjh set def_dt1=getdate()

matlab 中的出图后LEGEND标注完,看date1 date2对应数据怎么看?_百度...
直接脚本里写吧 比如 plot(t,a,'r');hold on;plot(t,b,'b');legend('data1','data2')先画的是data1,后画的是data2

相似回答