时间戳ts怎么样在原有日期的基础上,在后面加上00:00:00这个时间?

image.png

前一列对应的是日期,最后一列是新增的ts时间戳字段,由于之前的数据是空的,所以在ts这个字段,对于之前空着的数据,想补全,然后对应的时间都改成00:00:00,怎么样可以快速的做到呢?

用户MtzZM5884 发布于 2020-5-25 17:11
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-5-25 18:12
update tablename set TS = concat(BILLDATE," 00:00:00") where TS is null or TS ='';


参考上面的语句,更新下数据表TS字段内容即可,搞那么复杂干什么。

最佳回答
0
Doctor_WeiLv7中级互助
发布于2020-5-25 17:15

case when 

  • 用户MtzZM5884 用户MtzZM5884(提问者) 可是我的日期很多,case when要写太多sql,怎么样可以快速匹配到?
    2020-05-25 17:28 
最佳回答
0
anhuihaiwei2005Lv4见习互助
发布于2020-5-25 17:16

ts字段的日期要和前面的日期保持一致吗?还是直接都将空的修改成00:00:00

  • 用户MtzZM5884 用户MtzZM5884(提问者) 是的,要保持一致,然后ts字段是前面对应的日期,后面跟着00:00:00
    2020-05-25 17:27 
  • anhuihaiwei2005 anhuihaiwei2005 回复 用户MtzZM5884(提问者) 使用for in loop 批量更改 BEGIN FOR 表1 IN ( SELECT [匹配字段],[更新字段] FROM A表 ) loop UPDATE B表 SET B表.[需要更新字段]= 表1.[更新字段]; WHERE B表.[匹配字段]= 表1.[匹配字段]; END loop ; END;
    2020-05-25 17:31 
  • 用户MtzZM5884 用户MtzZM5884(提问者) 回复 anhuihaiwei2005 UPDATE tb_busirecord tb SET tb.ts = ( select a.ts1 from ( (select concat(billdate,\' 00:00:00\') ts1 from (select * from tb_busirecord where ts is null)) ) a where substr(a.ts1,1,10) = tb.billdate )
    2020-05-25 17:52 
  • 用户MtzZM5884 用户MtzZM5884(提问者) 回复 anhuihaiwei2005 想请问一下,为什么我这么写不可以呢,报错。单行子查询返回多个行
    2020-05-25 17:53 
  • 4关注人数
  • 995浏览人数
  • 最后回答于:2020-5-25 18:12
    请选择关闭问题的原因
    确定 取消
    返回顶部