当前位置: 代码迷 >> Sql Server >> 求一sql语句:中文字段 “出生日期”为 :198603 或是 198512 ,共6位字符,想把 198603变为日期型,然后,加下一年
  详细解决方案

求一sql语句:中文字段 “出生日期”为 :198603 或是 198512 ,共6位字符,想把 198603变为日期型,然后,加下一年

热度:327   发布时间:2016-04-25 01:12:43.0
求一sql语句:中文字段 “出生日期”为 :198603 或是 198512 ,共6位字符,想把 198603变为日期型,然后,加上一年


数据库 userinfo ,有一中文字段 “出生年月”,是字符型,不是日期型 ,形如“198603”,“198612” ,共6位,前4位是年,后2位是月分

想把198612 变为日期 “1986-12-01” 然后,加上一年变为 1987-12-01


是想要下面的 update 语句:


update userinfo set 领证日期 = (出生年月+1年)


求助!!万分感 谢!!

------解决方案--------------------
update userinfo set 领证日期 =DATEADD(yy,1,CAST(出生年月+'01' AS datetime))
------解决方案--------------------
SQL code
update userinfo set 领证日期=convert(varchar(10),dateadd(year,1,cast(LEFT(领证日期,4)+'-'+RIGHT(领证日期,2)+'-01' as DATE)),23)
------解决方案--------------------
SQL code
update userinfo set 领证日期 = dateadd(year,convert(datetime,substring(出生年月,1,4)+'-'+substring(出生年月,5,2)+'-01',120)
------解决方案--------------------
SQL code
update tb set 出生年月= dateadd(year,1,cast(left(出生年月,4)+'-'+substring(出生年月,5,2)+'-'+'01' as datetime))