前几天服务器被黑客攻击,将系统的时间给调整了,结果当天日志记录的时间都变为了2009-12-01 10:13:14,于是想写条SQL直接修改日期,但是保留时间字段。
在postgresql中建立了个测试表test,然后再sql编辑器中写到如下的语句:
运行后发现,日期被修改了,但是时间未保留,这说明在postgresql中to_date只能精确到日期。
然后稍微修改下
运行后日期就都变为'2007-01-07',时间都保留没变。
在postgresql中建立了个测试表test,然后再sql编辑器中写到如下的语句:
update test set tm=to_date('2007-01-07'||to_char(tm,'hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
运行后发现,日期被修改了,但是时间未保留,这说明在postgresql中to_date只能精确到日期。
然后稍微修改下
update test set tm=to_timestamp('2007-01-07'||to_char(tm,'hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')
运行后日期就都变为'2007-01-07',时间都保留没变。