原始数据如下:
日期              上班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字段,则加一天.作为夸日的下班时间. 

解决方案 »

  1.   

    update [table]
    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)))
      

  2.   

    你在数据库中设置了datetime类型,如果只输入时间,就会默认为1900年!
    我做的是把输入的时间设为字符,(当然,是在VB中)再用CDate转化,加上取系统日期的变量t=date
    然后合并存入数据库中的时间字段!
    你看这样对你有帮助么?
      

  3.   

    感激你的建议.因为我想用视图完成.所以要直接用SQL语金完城
      

  4.   


    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