我在查询 mysql 时遇到问题 我想找到两个日期之间每个日期的小时除以天 例如,
<小时/>我有开始日期 14/12/2014 09:00:00AM 和结束日期 17/12/2014 03:30:00AM
我想要这样的结果
- 2014 年 12 月 14 日 - 15 小时
- 1014 年 12 月 15 日 - 24 小时
- 2014 年 12 月 16 日 - 24 小时
- 2014 年 12 月 17 日 - 3.5 小时
这在 MySQL 或 Oracle SQL 查询中可能吗?
最佳答案
终于找到了oracle sql的查询...
感谢您的帮助
SELECT
TO_DATE (START_DATE + COLUMN_VALUE - 1, 'DD/MM/YYYY') AS THE_DATE,
CASE
WHEN TO_DATE (START_DATE, 'DD/MM/YYYY') = TO_DATE (END_DATE, 'DD/MM/YYYY')
THEN (END_DATE - START_DATE)*24
WHEN (START_DATE + COLUMN_VALUE - 1) = START_DATE
THEN (23 - TO_CHAR (START_DATE, 'HH24')) + ((60 - TO_CHAR (START_DATE, 'MI'))/60) + ((360 - TO_CHAR (START_DATE, 'SS'))/360)
WHEN TO_DATE (START_DATE + COLUMN_VALUE - 1, 'DD/MM/YYYY') <> TO_DATE (END_DATE, 'DD/MM/YYYY')
THEN 24
ELSE TO_CHAR (END_DATE, 'HH24') +
(TO_CHAR (END_DATE, 'MI')/60) +
(TO_CHAR (END_DATE, 'SS')/360) END
FROM MY_TABLE,
TABLE( CAST( MULTISET (
SELECT
LEVEL L
FROM DUAL
CONNECT BY LEVEL <= END_DATE - START_DATE + 1) AS SYS.ODCINUMBERLIST))
关于mysql - mysql 或 oracle SQL 中日期之间的减少/增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107880/