database - Oracle:计算 DATE 类型列的天分数

标签 database oracle date-formatting

我在 Oracle 表中有一个 DATE 类型的列。 据我了解,它包含有关小时、分钟和秒的信息。我需要获取此列的一天分数。目前我正在使用这种结构:

TO_CHAR(p.snaptime, 'HH24')/24 + TO_CHAR(p.snaptime, 'MI')/1440 + TO_CHAR(p.snaptime, 'SS')/86400

是否有更优雅(=更短)的方法来获得相同的结果?最好是 Oracle 计算它的时间/CPU 效率更高。 谢谢。

最佳答案

嗯。这个怎么样?

select (p.snaptime - trunc(p.snaptime))

两个日期的差是一个数字。在这种情况下,数字将代表一天中的时间。如果你想在其他单位使用它,那么你可以通过乘法转换(* 24 小时,* 24 * 60 分钟,* 24 * 60 * 60 秒)。

关于database - Oracle:计算 DATE 类型列的天分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39537803/

相关文章:

java - Java 存储过程上下文中的 "data-intensive business logic"是什么?

r - 根据格式为%d/%m/%Y的日期按时间顺序订购数据框

mysql - mysql/phpmyadmin 中的关系是否必要

r - 使用 dbplyr 跨数据库连接

sql - 为什么 SUM(null) 在 Oracle 中不是 0?

javascript - 将日期从毫秒格式化为此格式 : DD/MM/YYYY hh:mm:ss (US time locale) using native JS

java - Android 倒计时至毫秒

php - 检查用户登录数据的SQL代码

java - 检查 weblogic 服务器中 spasfic 组内的用户是否有 Web 服务应用程序

sql - 在 Oracle 的过程中重用选择查询