我有一個包含日期(日期),剩餘時間(varchar2(4))和到達時間(varchar2(4))的表格。所用時間爲hhmm 24小時制。如果一個人每天旅行3次,那麼在一天中計算總旅行時間的查詢是什麼? 我正在使用oracle 11g。請幫助。謝謝。在SQL查詢中的一天,其中24小時格式爲hhmm的時間計算
0
A
回答
0
值轉換爲數字,並在幾分鐘內報告:
select to_number(substring(time, 1, 2))*60 + to_number(substring(time, 3, 2)) as minutes
您的查詢看起來是這樣的:
select person, sum(to_number(substring(time, 1, 2))*60 + to_number(substring(time, 3, 2))) as minutes
from t
group by person;
我認爲沒有理由將此轉換回字符串 - 或甚至將該值存儲爲字符串而不是數字。但是如果你需要的話,你可以反過來獲得一個字符串。
0
有2個答案,如果你只想在日期則是可以做到的總結時間: -
select curr_date,
sum(24 * (to_date(arrival_time, 'HH24:mi:ss')- to_date(left_time, 'HH24:mi:ss'))) as difference
from sql_prac group by curr_date,arrival_time,left_time;
樣本輸出如下: -
select curr_date,left_time,arrival_time from sql_prac;
CURR_DATE LEFT_TIME ARRIVAL_TIME
--------- -------------------- --------------------
30-JUN-17 00:00:00 15:00:00
30-JUL-17 03:30:00 11:30:00
30-AUG-17 03:00:00 12:30:00
30-SEP-17 04:00:00 17:00:00
30-JUN-17 00:00:00 15:00:00
30-JUL-17 03:30:00 11:30:00
30-AUG-17 03:00:00 12:30:00
30-SEP-17 04:00:00 17:00:00
30-SEP-17 04:00:00 17:00:00
9行選擇
select curr_date,sum(24 * (to_date(arrival_time, 'HH24:mi:ss')- to_date(left_time, 'HH24:mi:ss'))) as difference
from sql_prac group by curr_date,arrival_time,left_time;
CURR_DATE DIFFERENCE
--------- ----------
30-JUN-17 30
30-JUL-17 16
30-SEP-17 39
30-AUG-17 19
0
如果要通過人,日期,那麼這是可以做到的來概括: -
select dept,curr_date,sum(24 * (to_date(arrival_time, 'HH24:mi:ss')- to_date(left_time, 'HH24:mi:ss'))) as difference
from sql_prac group by dept,curr_date,arrival_time,left_time order by Dept;
示例輸出如下: -
數據在表是: -
選擇部,curr_date,left_time,從sql_prac ARRIVAL_TIME;
DEPT CURR_DATE LEFT_TIME ARRIVAL_TIME
-------------------- --------- -------------------- -------------------- A 30-SEP-17 04:00:00 17:00:00 B 30-SEP-17 04:00:00 17:00:00 C 30-AUG-17 03:00:00 12:30:00 D 30-DEC-17 04:00:00 17:00:00 A 30-SEP-17 04:00:00 17:00:00 B 30-JUL-17 03:30:00 11:30:00 C 30-AUG-17 03:00:00 12:30:00 D 30-SEP-17 04:00:00 17:00:00 R 30-SEP-17 04:00:00 17:00:00
-
使用查詢
數據取出
選擇部,curr_date,總和(24 * (to_date(arrival_time,'HH24:mi:ss') - to_date(left_time,'HH24:mi:ss')))作爲區別 from sql_prac group by dept,curr_date,arr ival_time,按部門排序的left_time;
DEPT CURR_DATE DIFFERENCE -------------------- --------- ---------- A 30-SEP-17 26 B 30-JUL-17 8 B 30-SEP-17 13 C 30-AUG-17 19 D 30-SEP-17 13 D 30-DEC-17 13 R 30-SEP-17 13
相關問題
- 1. 計算在2 24小時時間格式中工作的小時數PHP
- 2. 我想兩次,其在24小時之間,計算differnce格式
- 3. 可能使SQL查詢計算一天中的每個小時?
- 4. 如何在SQL Server中比較24小時格式的時間
- 5. 24小時時間格式
- 6. SQL查詢一天中的幾小時
- 7. 如何計算Javascript中兩個'HHmm'之間的小時數?
- 8. 時間格式hhmm到hh:mm sql server 2005
- 9. 如何在SQL Server 24小時格式中花費時間差
- 10. 隱藏時間格式從24小時到幾秒到一天。
- 11. SQL查詢,計算時間
- 12. Javascript預訂計算器不計算24小時爲1天
- 13. Python時間戳的24小時格式
- 14. 實際時間的24小時格式?
- 15. Flex中的時間格式「24小時制」和「12小時制」
- 16. 查找24小時格式的時差
- 17. 如何將時間格式更改爲24小時?在C#中
- 18. 在Obj-C中將24小時轉換爲12h時間格式
- 19. 在SQL Server中將時間轉換爲24小時時間
- 20. 將小時轉換爲天:SQL Server中的小時格式
- 21. 選擇*表格,其中日期時間爲24小時前
- 22. Moment.js 24小時時間格式,處理第24小時
- 23. GSheets:計算24小時業務中的時間差
- 24. 轉換12小時格式到24小時格式在SQL Server
- 25. 轉換24小時格式的日期時間爲varchar SQL Server 2008中
- 26. 在單個t-sql中設置hh:mm到24小時格式查詢 - SQL Server 2012
- 27. 在同一查詢中爲不同的unixtimestamp添加1天/ 24小時
- 28. 如何在LotusApplications/Xpage的DataTable的計算字段中將AM/PM時間轉換爲24小時格式?
- 29. 計算SQL查詢的執行時間?
- 30. 在Ruby中將12小時時間轉換爲24小時格式
你嘗試過這麼遠嗎?請發佈您的查詢 – etsa
你爲什麼使用varchar列? Oracle是否有任何時間/間隔數據類型? – jarlh
如果一個旅程結束午夜會發生什麼 - 所以到達'時間'早於'時間'?你爲什麼不只是將數據類型爲'date'的左邊和到達都存儲起來? –