对表中开始时间和结束时间对比,如果不在同一天,则将该条数据拆分成两条,第一条数据开始时间不变,结束时间为结束时间该天的24:00:00.000,第二条数据结束时间不变,开始时间变成开始时间当天的00:00:00.000,删除原数据;如果在同一天则不变。
表名tbl,字段名如图
首先,你这个根本不需要删除数据;只需要新增数据就行了。
本来想给你写出sql的。你这个字段定义的,太难敲出来了。
思路:
1、自定义个函数,将指定时间转换为当天0点的时间返回 自定义函数,将指定时间转为 当天23点59分59秒(为啥不是24点?因为没有)
2、insert into 表 select strtime字段前边的字段,自定义函数计算 endtime 的凌晨0点,strtime后边的字段 from 表 where datediff(dd,结束时间,开始时间)>1
3、update 表 set endtime = 自定义函数 where datediff(dd,结束时间,开始时间)>1
思路描述的有点乱,仔细读两遍,ok了。