Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle sysdate差异(如何查询sysdate和我的表日期)_Oracle - Fatal编程技术网

Oracle sysdate差异(如何查询sysdate和我的表日期)

Oracle sysdate差异(如何查询sysdate和我的表日期),oracle,Oracle,我是甲骨文的新手 我有一些问题要问 我正在尝试进行查询,以解决sysdate()和我自己表中的日期之间的差异 select to_char(to_char(sysdate,'YYYYMMDDHH24MISS') - to_char(S_DATE||S_HOUR||':00' , 'YYYYMMDDHH24MISS')) from dual; 我就是这样做的 在我的表中,我有两列“S_DATE”和“S_HOUR”,表示时间 因此,我想知道时差以及如何进行此查询。 提前谢谢

我是甲骨文的新手

我有一些问题要问

我正在尝试进行查询,以解决sysdate()和我自己表中的日期之间的差异

select to_char(to_char(sysdate,'YYYYMMDDHH24MISS')   
        - to_char(S_DATE||S_HOUR||':00' , 'YYYYMMDDHH24MISS')) 
from dual;
我就是这样做的

在我的表中,我有两列
“S_DATE”
“S_HOUR”
,表示时间

因此,我想知道时差以及如何进行此查询。
提前谢谢。

您可以通过简单的-(减号)运算符获得两个日期之间的差。但是,首先需要使用
将日期字符串转换为日期

SQL Fidlle中的示例是

示例查询:

select 
sysdate , S_DATE || ' ' || S_HOUR "Date",
round((sysdate - to_date(s_date || s_hour ,' YYYY/MM/DDHH24:MI') ) * 24 * 60, 2)  "Dif In Min",
round((sysdate - to_date(s_date || s_hour ,' YYYY/MM/DDHH24:MI') ) * 24 * 60 * 60, 2)  "Dif In Sec"
from myDate

为什么不把你的日期储存成一个日期呢?那么就不需要转换了。只需减去这两个值。刚接触甲骨文的人通常不了解日期。日期是时间点,所以日期和时间。始终将日期存储为日期,而不是数字或字符串。不能将一个varchar与另一个varchar“相减”。您需要使用real
date
值。去掉sysdate上的
to_char()
,并在表列上使用
to_date()
将它们转换为适当的
日期值。