Oracle:计算 DATE 类型列的天分数
Oracle: calculate day fraction of DATE type column
我在 Oracle table 中有一个 DATE 类型的列。
据我了解,它包含有关小时、分钟和秒的信息。我需要获取此列的一天分数。目前我正在使用这个结构:
TO_CHAR(p.snaptime, 'HH24')/24 + TO_CHAR(p.snaptime, 'MI')/1440 + TO_CHAR(p.snaptime, 'SS')/86400
是否有更优雅(=更短)的方法来获得相同的结果?对于 Oracle 的计算,最好 time/CPU 更有效。
谢谢。
嗯。这个怎么样?
select (p.snaptime - trunc(p.snaptime))
两个日期相差一个数字。在这种情况下,数字将代表一天中的时间。如果你想在其他单位中使用它,那么你可以通过乘法转换(* 24
小时,* 24 * 60
分钟,* 24 * 60 * 60
秒)。
我在 Oracle table 中有一个 DATE 类型的列。 据我了解,它包含有关小时、分钟和秒的信息。我需要获取此列的一天分数。目前我正在使用这个结构:
TO_CHAR(p.snaptime, 'HH24')/24 + TO_CHAR(p.snaptime, 'MI')/1440 + TO_CHAR(p.snaptime, 'SS')/86400
是否有更优雅(=更短)的方法来获得相同的结果?对于 Oracle 的计算,最好 time/CPU 更有效。 谢谢。
嗯。这个怎么样?
select (p.snaptime - trunc(p.snaptime))
两个日期相差一个数字。在这种情况下,数字将代表一天中的时间。如果你想在其他单位中使用它,那么你可以通过乘法转换(* 24
小时,* 24 * 60
分钟,* 24 * 60 * 60
秒)。