求SQL语句

dzxccsu 2009-11-18 03:55:17
原数据:
id sdate
11235 2009-11-16
11236 2009-11-16
11237 2009-11-16
11238 2009-11-16
11240 2009-11-16
11241 2009-11-16
11242 2009-11-16
update后的数据:
id sdate
11235 2009-10-16
11236 2009-10-16
11237 2009-10-16
11238 2009-10-16
11240 2009-10-16
11241 2009-10-16
11242 2009-10-16
就是把11变成10
...全文
67 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-11-18
  • 打赏
  • 举报
回复
就是把11变成10

如果 2009-10-31 怎么办? 是 2009-11-30 还是 2009-12-01 ?
如果是 2009-11-30

则可以

update 原数据 set sdate=sdate + interval 1 month;
ACMAIN_CHM 2009-11-18
  • 打赏
  • 举报
回复
就是把11变成10

如果 2009-10-31 怎么办? 是 2009-11-30 还是 2009-12-01 ?
WWWWA 2009-11-18
  • 打赏
  • 举报
回复
不能保证select srdate from tt where aa=''得到唯一记录
dzxccsu 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wwwwa 的回复:]
update tt set sdate=DATE_ADD(srdate,INTERVAL -1 MONTH) where aa=''
[/Quote]3Q,先试试
WWWWA 2009-11-18
  • 打赏
  • 举报
回复
update tt set sdate=DATE_ADD(srdate,INTERVAL -1 MONTH) where aa=''
dzxccsu 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwa 的回复:]
update tt set sdate=DATE_ADD(sdate,INTERVAL -1 MONTH)
[/Quote]sdate是从表中选出来的。
可以这样吗?

update tt set sdate=DATE_ADD((select srdate from tt where aa=''),INTERVAL -1 MONTH)
WWWWA 2009-11-18
  • 打赏
  • 举报
回复
用2楼的代码试试
dzxccsu 2009-11-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 vinsonshen 的回复:]
SQL codeupdate tb_nameset sdate='2009-10-16'where sdate='2009-11-16' ??
[/Quote]大哥,我不只是有2009-11-16这一条日期,有很多的。2009-11-17。。。。31
WWWWA 2009-11-18
  • 打赏
  • 举报
回复
update tt set sdate=DATE_ADD(sdate,INTERVAL -1 MONTH)
vinsonshen 2009-11-18
  • 打赏
  • 举报
回复
update tb_name set sdate='2009-10-16' where sdate='2009-11-16'
??

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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