原始数据如下:
日期 上班A 下班A
2008.09.01 1900-1-1 17:00:00 1900-1-1 1:00:00
2008.09.02 1900-1-1 08:00:00 1900-1-1 16:00:00希望可以得到的数据结果
日期 上班A 下班A
2008.09.01 2008.09.01 17:00:00 2008.09.02 1:00:00
2008.09.02 2008.09.02 08:00:00 2008.09.02 16:00:00注:
用日期字段的日期 + 上班A的时间组成一个新的日期时间,如果下班字段的时间小于上班A字段,则加一天.作为夸日的下班时间.
日期 上班A 下班A
2008.09.01 1900-1-1 17:00:00 1900-1-1 1:00:00
2008.09.02 1900-1-1 08:00:00 1900-1-1 16:00:00希望可以得到的数据结果
日期 上班A 下班A
2008.09.01 2008.09.01 17:00:00 2008.09.02 1:00:00
2008.09.02 2008.09.02 08:00:00 2008.09.02 16:00:00注:
用日期字段的日期 + 上班A的时间组成一个新的日期时间,如果下班字段的时间小于上班A字段,则加一天.作为夸日的下班时间.
set 上班A = convert(datetime,convert(varchar(10),日期,120)+' '+right(convert(varchar(19),上班A,120),8))),
上班b = convert(datetime,convert(varchar(10),日期,120)+' '+right(convert(varchar(19),上班b,120),8)))
我做的是把输入的时间设为字符,(当然,是在VB中)再用CDate转化,加上取系统日期的变量t=date
然后合并存入数据库中的时间字段!
你看这样对你有帮助么?
update [table]
set 上班A = convert(datetime,convert(varchar(10),日期,120)+' '+right(convert(varchar(19),上班A,120),8))),
上班b =
case when 上班A>=上班b
then dateadd(d,1,convert(datetime,convert(varchar(10),日期,120)+' '+right(convert(varchar(19),上班b,120),8))))
else convert(datetime,convert(varchar(10),日期,120)+' '+right(convert(varchar(19),上班b,120),8))) end