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 SQL日期不为';没时间了?如何显示两个日期之间的时间?_Oracle_Date_Time - Fatal编程技术网

Oracle SQL日期不为';没时间了?如何显示两个日期之间的时间?

Oracle SQL日期不为';没时间了?如何显示两个日期之间的时间?,oracle,date,time,Oracle,Date,Time,我想计算两个日期之间的时间,以显示在一次销售中还有多少时间。但是,当我显示日期时,它只显示日期而不显示时间(尽管我使用dd/mm/yyyy hh24:mi:ss插入了日期) 这是销售实体。(左非相关属性已删除) 基本上,我只是想展示一下离销售结束还有多少小时、分、秒。所以dateEnd减去dateStart。。。 我该怎么办 谢谢 with dates as ( select to_date('20160401 11:21','yyyymmdd hh24:mi') as date1

我想计算两个日期之间的时间,以显示在一次销售中还有多少时间。但是,当我显示日期时,它只显示日期而不显示时间(尽管我使用dd/mm/yyyy hh24:mi:ss插入了日期)

这是销售实体。(左非相关属性已删除)

基本上,我只是想展示一下离销售结束还有多少小时、分、秒。所以dateEnd减去dateStart。。。 我该怎么办

谢谢

   with dates as
   ( select  to_date('20160401 11:21','yyyymmdd hh24:mi') as date1, 
             to_date('20160327 10:13','yyyymmdd hh24:mi') as date2 
     from dual )
   SELECT floor((date1-date2)*24)
          || ' Hours ' ||
           mod(floor((date1-date2)*24*60),60)
           || ' Minutes ' ||
           mod(floor((date1-date2)*24*60*60),60)
          || ' Secs ' time_difference
     FROM dates;
将产生:

    time_difference
   -------------
    121 Hours 7 Minutes 59 Secs 

日期没有格式-它们是

设置日期格式的是SQL客户端,默认情况下,SQL plus将使用
NLS\u date\u FORMAT
session参数(这是一个客户端变量,不是全局设置的变量)

如果您想要格式一致的日期,则需要将其转换为字符串

SELECT TO_CHAR( datestart, 'dd/mm/yyyy hh24:mi:ss` )
FROM   sale;

为什么删除了SQL标记:您是否尝试过搜索?这个问题似乎是(除其他问题外)酷的翻版,我不知道,但我该如何计算两个日期时间之间的时间差?TODATE(TO_CHAR)?@SJacobs见dcieslak's或。
    time_difference
   -------------
    121 Hours 7 Minutes 59 Secs 
SELECT TO_CHAR( datestart, 'dd/mm/yyyy hh24:mi:ss` )
FROM   sale;