1、创建测试表,
create table test_date_add(id number, start_time date, end_time date);
2、插入测试数据
insert into test_date_add values(1,to_date('2013-05-27 20:27:54', 'yyyy-mm-dd hh24:mi:ss'),to_date('2013-05-30 23:58:58', 'yyyy-mm-dd hh24:mi:ss'));
insert into test_date_add values(2,to_date('2013-05-27 15:12:36', 'yyyy-mm-dd hh24:mi:ss'), to_date('2013-05-30 19:18:44', 'yyyy-mm-dd hh24:mi:ss'));
commit;
3、查询表中全量数据,select t.*, rowid from test_date_add t;
4、编写sql,日期时间起止都加5个小时, select t.*, start_time+5/24 s1, end_time+5/24 e1 from test_date_add t;
--起止时间最好不要用between … and…
update tbname set 日期字段=dateadd(hour,5,日期字段)
where 日期字段>='2013-05-27 20:27:54' and 日期字段<='2013-05-30 23:58:58'
--如果你想要减相应的小时的话可以这样写
update tbname set 日期字段=dateadd(hour,-5,日期字段)
where 日期字段>='2013-05-27 20:27:54' and 日期字段<='2013-05-30 23:58:58'
不明白可以随时问我,希望解决了楼主的问题
sqlserver:
select dateadd(hh,5,'2013-05-27 20:27:54')
自己拼个update语句吧
oracle的用法,供参考
update table set date= to_char(date+5/24,'yyyy/mm/dd HH24:MI:SS') ;条件自己定
sql server这样:
select dateadd(hh,5,'2013-05-27 20:27:54')