我正在處理作業問題。對於數據庫SQL編程。Oracle SQL查詢涉及四個月的時間轉換和日期間隔計算
Q4。使用今天的日期(當前日期),確定書店銷售的每本書的年齡(以月爲單位)。確保顯示整個月份;忽略幾個月的任何部分。顯示書名,出版日期,當前日期和年齡。使用年齡列的列別名。
查詢所需結果:
TITLE PUBDATE SYSDATE AGE
BODYBUILD IN 10 MINUTES A DAY | 21-JAN-01 00:00:00 | 14-NOV-12 13:16:35 | 141
REVENGE OF MICKEY | 14-DEC-01 00:00:00 | 14-NOV-12 13:16:35 | 131
BUILDING A CAR WITH TOOTHPICKS | 18-MAR-02 00:00:00 | 14-NOV-12 13:16:35 | 127
DATABASE IMPLEMENTATION | 04-JUN-99 00:00:00 | 14-NOV-12 13:16:35 | 161
COOKING WITH MUSHROOMS | 28-FEB-00 00:00:00 | 14-NOV-12 13:16:35 | 152
HOLY GRAIL OF ORACLE | 31-DEC-01 00:00:00 | 14-NOV-12 13:16:35 | 130
14 rows selected
這是一個表,書籍和有PUB_DATE,和我使用SYSDATE一段時間間隔計算。 pub_date的數據類型是DATE。
我已經解決了這個問題,但我無法爲pubdate獲取這個舍入時間。它應該用HH:MM:SS四捨五入爲00:00:00,但我的編碼沒有得到正確的結果。這裏是我做了什麼:
SELECT title, TO_CHAR(ROUND(pubdate), 'DD-MON-YY HH24:MM:SS') AS pubdate,
TO_CHAR(SYSDATE, 'DD-MON-YY HH24:MM:SS') AS "SYSDATE",
ROUND(SYSDATE - TO_DATE(pubdate)) AS age
FROM books;
的東西與我的年齡計算,ROUND(SYSDATE - TO_DATE(pubdate))
wroung。
而我的編碼的圓形的出版物,TO_CHAR(ROUND(pubdate), 'DD-MON-YY HH24:MM:SS') AS pubdate
有些問題。
只是想知道如何解決我的錯誤計算年齡和如何得到正確的四捨五入的日期,就像它有。
此問題涉及Murach的Oracle SQL,Ch17如何使用時間戳和間隔。
我意識到我的年齡列與NUMTOYMINTERVAL錯誤。這可能不完全正確,但在這裏朝着正確的方向前進。我改變了這個部分的年齡,現在需要讓間隔時間讀取幾個月。 NUMTOYMINTERVAL(SYSDATE - pubdate,'MONTH')AS年齡 – MeachamRob
我修復了pubdate列。現在只是想弄清楚年齡。 ROUND(pubdate)AS pubdate – MeachamRob