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

tiger8000 2012-11-01 11:08:23


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

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


是想要下面的 update 语句:


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


求助!!万分感 谢!!
...全文
198 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
好帅的一条鱼 2012-11-01
  • 打赏
  • 举报
回复
update tb set 出生年月= dateadd(year,1,cast(left(出生年月,4)+'-'+substring(出生年月,5,2)+'-'+'01' as datetime))

好帅的一条鱼 2012-11-01
  • 打赏
  • 举报
回复
update 出生年月= dateadd(year,1,cast(left(出生年月,4)+'-'+substring(出生年月,5,2)+'-'+'01' as datetime)) 
shuhuihai1234 2012-11-01
  • 打赏
  • 举报
回复
update userinfo set 领证日期 = (出生年月+1年)
update userinfo set 领证日期 = subStr('198612',0,4)+1||'-'||subStr('198612',5,6)||'-01'

这个你试试,
xuam 2012-11-01
  • 打赏
  • 举报
回复
update userinfo set 领证日期 = dateadd(year,convert(datetime,substring(出生年月,1,4)+'-'+substring(出生年月,5,2)+'-01',120)
开启时代 2012-11-01
  • 打赏
  • 举报
回复

update userinfo set 领证日期=convert(varchar(10),dateadd(year,1,cast(LEFT(领证日期,4)+'-'+RIGHT(领证日期,2)+'-01' as DATE)),23)
汤姆克鲁斯 2012-11-01
  • 打赏
  • 举报
回复
update userinfo set 领证日期 =DATEADD(yy,1,CAST(出生年月+'01' AS datetime))

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧