创建具有固定时间部分的时间戳
Create TimeStamp with fixed Time Part
在 oracle 中获取包含实际日期但固定时间部分的时间戳的最佳方法是什么。
e.g.Today 总是 09:00:00
2020-10-20 09:00:00
在 MSSQL 中我会使用 FORMAT(GETDATE(),'yyyy-MM-dd 09:00:00')
你可以这样使用:
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
希望这就是您要找的:)
假设您想要 date
而不是 varchar2
,我会使用
trunc(sysdate) + interval '9' hour
trunc(sysdate)
returns 今天午夜然后 interval '9' hour
加上 9 小时给你上午 9 点。您还可以将一天的小数部分添加到 date
,这样您就可以说
trunc(sysdate) + 9/24
我更倾向于 interval
表示法 self-explanatory 特别是如果您来自 non-Oracle 背景。
在 oracle 中获取包含实际日期但固定时间部分的时间戳的最佳方法是什么。
e.g.Today 总是 09:00:00
2020-10-20 09:00:00
在 MSSQL 中我会使用 FORMAT(GETDATE(),'yyyy-MM-dd 09:00:00')
你可以这样使用:
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
希望这就是您要找的:)
假设您想要 date
而不是 varchar2
,我会使用
trunc(sysdate) + interval '9' hour
trunc(sysdate)
returns 今天午夜然后 interval '9' hour
加上 9 小时给你上午 9 点。您还可以将一天的小数部分添加到 date
,这样您就可以说
trunc(sysdate) + 9/24
我更倾向于 interval
表示法 self-explanatory 特别是如果您来自 non-Oracle 背景。