用得最多的是:DATEADD (depart,number,date)
在向指定日期加上一段时间的基础上,返回新的 datetime 值
讲到DATEADD,当然也同时会想到另外一个时间函数就是DATEDIFF, 返回跨两个指定日期的日期和时间边界数。其格式为: DATEDIFF ( datepart , startdate , enddate )
那我今天用到的不是这两种,呵,是使用了CONVERT函数对日期进行多次转换,达到只修改日期,不修改时间的方法,在此处将SQL陈列如下,希望有需要的朋友可以试用看看.呵~~~~
update te_creditaccount
set createdate=convert(datetime,'2009-08-30'+ ' ' +convert(varchar(10),createdate,114))
where convert(char(10),createdate,21)>'2009-09-05'
and createoperatorid=2 and termid=0 and cardid in
(select a.cardid from tc_card a inner join tc_employee b
on a.employeeid=b.employeeid where convert(char(10),a.createdate,21)>'2009-09-05'
and a.createoperatorid=2 and b.employeename='临时卡' )
其实重要的也就是convert(datetime,'2009-08-30'+ ' ' +convert(varchar(10),createdate,114))
先通过convert()将原日期时间转换为Varchar,并使用114的格式,然后加上需要修改的字段,最后转化为datetime型.
备:每天记录一点,每天勤奋一点,为未来做好准备!!!