189 8069 5689

sqlserver上年末,sql年初到现在的天数

怎么将SQLServer数据库中的日期批量加上1年

可以使用SQL Server系统函数DATEADD实现日期批量加上1年,示例如下:

10年积累的成都做网站、网站设计、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有辽源免费网站建设让你可以放心的选择与我们合作。

--使用DATEADD函数更新time列的值为原时间值加上1年

UPDATE UserList SET time=DATEADD(year,1,time)

关与DATEADD函数,可以查看SQL SERVER教程中的使用方法说明,如下图:

SQL写函数 输入参数:日期(YYYYMMDD)和下面某一个参数 返回数据:参数说明要返回的日期。

函数代码:

create or replace function func_date( --创建函数名称func_date

p_yyyymmdd number, --定义参数1 

p_num      number) --定义参数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参数说明不存在!'); --其它参数抛出异常

end if;

return v_result; --返回结果

end func_date;

/

调用函数:

select func_date(20161219,11) from dual;

sqlserver 日期格式转换

-- 输入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))

SQL Server如何获取日期表示去年的今天

使用sqlserver中的时间函数:dateAdd(yy,-1,getdate())

sql语句是:

select dateAdd(yy,-1,getdate()).

整数是向前,负数是向后


文章标题:sqlserver上年末,sql年初到现在的天数
当前路径:http://cdxtjz.cn/article/dseohhj.html

其他资讯