Thu*_*ush 3 oracle timestamp date-arithmetic
SELECT COALESCE (
(to_timestamp( '2014-09-22 16:00:00','yyyy/mm/dd HH24:MI:SS')
- ('2014-09-22 09:00:00' ,'yyyy/mm/dd HH24:MI:SS'))
- (to_timestamp( '2014-09-22 16:00:00','yyyy/mm/dd HH24:MI:SS')
- to_timestamp('2014-09-22 09:00:00.' ,'yyyy/mm/dd HH24:MI:SS'))
, '00:00')
FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
这是在postgres中工作,但它在oracle中不起作用.
看起来你正试图用TIMESTAMP做数学(+, - ).TIMESTAMP不喜欢这样.你应该把TIMESTAMP CAST到DATE:
而不是bla - blu(其中bla和blu是TIMESTAMP)
do
CAST (bla as DATE) - CAST (blu as DATE)
and you will get a NUMBER (multiply it by 3600 * 24 and you will turn it into seconds)
Run Code Online (Sandbox Code Playgroud)
但是你将丢失毫秒信息
检查此链接时间戳差异
| 归档时间: |
|
| 查看次数: |
23486 次 |
| 最近记录: |