在Oracle中获取包含实际日期但固定时间部分的时间戳的最佳方法是什么。
例如今天并且始终是09:00:00
2020-10-20 09:00:00
在MSSQL中,我将使用FORMAT(GETDATE(),'yyyy-MM-dd 09:00:00')
答案 0 :(得分:1)
假设您要使用date
而不是varchar2
,我会用
trunc(sysdate) + interval '9' hour
trunc(sysdate)
今天返回午夜,然后interval '9' hour
加9个小时给您早上9点。您还可以将一天的零头部分添加到date
中,这样您就可以说
trunc(sysdate) + 9/24
我倾向于发现interval
表示法更不言自明,特别是如果您来自非Oracle背景。
答案 1 :(得分:0)
您可以使用类似这样的内容:
SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD';
Session altered.
SQL> set head off
SQL> select sysdate||' 09:00:00' from dual;
2020-10-19 09:00:00
希望这就是您想要的:)