SQL 更新时间字段有关问题
SQL 更新时间字段问题
一个表tbTimesheet中有两列WorkDate和StartTime,都是时间类型,现在要把WorkDate中的年,月,日更新到StartTime中,小时和分钟不变,求一个SQL,大家帮忙啊~~~~~
例:
tbTimesheet:
源数据:
Id WorkDate StartTime
1 2012-02-12 00:00:00.000 2012-02-16 08:00:00.000
2 2012-03-13 00:00:00.000 2012-03-16 08:00:00.000
更新后想得到:
Id WorkDate StartTime
1 2012-02-12 00:00:00.000 2012-02-12 08:00:00.000
2 2012-03-13 00:00:00.000 2012-03-13 08:00:00.000
------解决方案--------------------
一个表tbTimesheet中有两列WorkDate和StartTime,都是时间类型,现在要把WorkDate中的年,月,日更新到StartTime中,小时和分钟不变,求一个SQL,大家帮忙啊~~~~~
例:
tbTimesheet:
源数据:
Id WorkDate StartTime
1 2012-02-12 00:00:00.000 2012-02-16 08:00:00.000
2 2012-03-13 00:00:00.000 2012-03-16 08:00:00.000
更新后想得到:
Id WorkDate StartTime
1 2012-02-12 00:00:00.000 2012-02-12 08:00:00.000
2 2012-03-13 00:00:00.000 2012-03-13 08:00:00.000
------解决方案--------------------
- SQL code
create table tbTimesheet (Id int, WorkDate datetime, StartTime datetime) insert into tbTimesheet select 1, '2012-02-12 00:00:00.000', '2012-02-16 08:00:00.000' union all select 2, '2012-03-13 00:00:00.000', '2012-03-16 08:00:00.000' update tbTimesheet set StartTime=convert(varchar,WorkDate,23)+' '+convert(varchar,StartTime,108) select * from tbTimesheet Id WorkDate StartTime ----------- ----------------------- ----------------------- 1 2012-02-12 00:00:00.000 2012-02-12 08:00:00.000 2 2012-03-13 00:00:00.000 2012-03-13 08:00:00.000 (2 row(s) affected)
------解决方案--------------------
- SQL code
create table tbTimesheet(Id int,WorkDate datetime,StartTime datetime) insert into tbTimesheet values(1, '2012-02-12 00:00:00.000', '2012-02-16 08:00:00.000') insert into tbTimesheet values(2, '2012-03-13 00:00:00.000', '2012-03-16 08:00:00.000') update tbTimesheet set StartTime = convert(varchar(10),WorkDate,120) + ' ' + convert(varchar(8),StartTime,108) select * From tbTimesheet drop table tbTimesheet /* Id WorkDate StartTime ----------- ------------------------------------------------------ ------------------------------------------------------ 1 2012-02-12 00:00:00.000 2012-02-12 08:00:00.000 2 2012-03-13 00:00:00.000 2012-03-13 08:00:00.000 (所影响的行数为 2 行) */