我想用自己的时间连接sysdate
。以下是我尝试过的查询,但我的年份为0016
,而不是2016年。
还有其他方法可以获得如下结果吗?
查询:
select to_date(sysdate || ' 02:50:00','dd-mon-yyyy hh24:mi:ss') as MyTime from dual
输出:
3/12/0016 02:50:00 AM
答案 0 :(得分:4)
单程
完全像这样:
to_date(to_char(sysdate,'YYYY-MM-DD')||' 02:50:00','YYYY-MM-DD HH24:MI:SS' )
替代方式:使用算术。
((60*60*2)+(50*60)/(60*60*24)
是否包括您的工作:
trunc(sysdate) + ( 10200 / 86400)
还有第三种方法:使用INTERVAL(基本上是第二种方式的变体)。
SQL> select trunc(sysdate) + to_dsinterval('0 02:50:00') as mytime
2 from dual
3 /
MYTIME
------
2016-03-12 02:50:00
SQL>
答案 1 :(得分:0)
试试这个
SELECT TO_DATE(TO_CHAR(SYSDATE, 'DD-MON-YYYY') || ' 08:00:00', 'DD-MON-YYYY HH:MI:SS') FROM DUAL;
只需将SYSDATE
更改为TO_CHAR(SYSDATE, 'DD-MON-YYYY')
我这样做了:
SELECT TO_CHAR(
TO_DATE(TO_CHAR(SYSDATE, 'DD-MON-YYYY') || ' 08:00:00', 'DD-MON-YYYY HH:MI:SS')
,'DD-MON-YYYY HH:MI:SS') from dual;
得到了
12-MAR-2016 08:00:00
结果。