select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss,www') from dual
-- 2018-07-18 15:38:04,293 后三位可用的字母包含q/w/y/i/d/m(可能存在某个组合会报错)
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss,yyj') from dual
--2018-07-18 15:46:47,182458318
--j得单独拎出来,跟有的字母不匹配,会提示无法识别日期格式;存在j,后面的位数会成倍增加
发现插入数据时,出来的日期总是中午12点,当时查找了好久也没有找到原因
解决方案一:在网上寻找到的方法,虽然没有完整的解决掉自己的问题,但可能以后会用到,特意记录下来
select to_timestamp(substr(to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'), 0,
13),'yyyy-mm-dd hh24') as operationTime from dual;
得出来的结果如下(可以获取正确的hour,但minute和second依然是0):
解决方案二:将sysdate替换成systimestamp,然后就成功了
select to_char(systimestamp,'DD-MON-RR HH.MI.SS.FF AM') from dual;