可以使用SQL Server系統(tǒng)函數(shù)DATEADD實現(xiàn)日期批量加上1年,示例如下:

10年積累的成都做網(wǎng)站、網(wǎng)站設計、外貿營銷網(wǎng)站建設經驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有遼源免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
--使用DATEADD函數(shù)更新time列的值為原時間值加上1年
UPDATE UserList SET time=DATEADD(year,1,time)
關與DATEADD函數(shù),可以查看SQL SERVER教程中的使用方法說明,如下圖:
函數(shù)代碼:
create?or?replace?function?func_date(?--創(chuàng)建函數(shù)名稱func_date
p_yyyymmdd?number,?--定義參數(shù)1?
p_num??????number)?--定義參數(shù)2
return?date????????--返回結果類型為date
as
v_result?date;?--聲明返回結果變量
begin
if????p_num=11
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm');?--本月初
elsif?p_num=12
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q');?--本季初
elsif?p_num=13
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy');?--本年初
elsif?p_num=21?
then?v_result:=last_day(to_date(p_yyyymmdd,'yyyy-mm-dd'));??--本月末
elsif?p_num=22?
then?v_result:=last_day(add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q'),2));?--本季度末
elsif?p_num=23?
then?v_result:=last_day(add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy'),11));?--本年末
elsif?p_num=31??
then?v_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm'),-1);?--上月初
elsif?p_num=32
then?v_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q'),-3);?--上季初
elsif?p_num=33
then?v_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy'),-12);?--上年初
elsif?p_num=41
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm')-1;?--上月末
elsif?p_num=42
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q')-1;?--?上季末
elsif?p_num=43
then?v_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy')-1;?--上年末
else?
raise_application_error(-20001,'p_num參數(shù)說明不存在!');?--其它參數(shù)拋出異常
end?if;
return?v_result;?--返回結果
end?func_date;
/
調用函數(shù):
select?func_date(20161219,11)?from?dual;
--?輸入201401
--?月初時間
select?dateadd(day,?datediff(day,?0,convert(datetime,'201401'+'01',112)),?0)
--?月末時間
select?dateadd(ss,-1,dateadd(month,?datediff(month,?-1,convert(datetime,'201401'+'01',112)),?0))
--?輸入2014?
--?年初時間
select?dateadd(year,?datediff(year,?0,convert(datetime,'2014'+'0101',112)),?0)
--?年末時間
select?dateadd(ss,-1,dateadd(year,?datediff(year,?0,convert(datetime,'2014'+'0101',112)),?0))
使用sqlserver中的時間函數(shù):dateAdd(yy,-1,getdate())
sql語句是:
select dateAdd(yy,-1,getdate()).
整數(shù)是向前,負數(shù)是向后
網(wǎng)站題目:sqlserver上年末,sql年初到現(xiàn)在的天數(shù)
轉載源于:http://chinadenli.net/article47/dseohhj.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、外貿建站、建站公司、網(wǎng)站改版、面包屑導航、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)