我在表中使用格式'01 -JAN-99'的日期列。我需要顯示當前日期,使用sysdate和我的表中的日期之間的差異。但我必須按年份和月份顯示它。所以如果日期是148個月前,那麼它會顯示12年和4個月。在SQL中顯示當前日期的年份和月份
回答
假設列實際上是一個DATE
(不具有格式),而不是一個VARCHAR2
表示日期(這將有格式),你會想是這樣
TRUNC(months_between(sysdate, date_column)/ 12) || ' Years and ' ||
TRUNC(MOD(months_between(sysdate, date_column), 12) || ' Months.'
這是假設如果差異是你想忽略小數的月份數。如果您想四捨五入到最近的月份,請在計算月數中將TRUNC
替換爲ROUND
。
試試這個腳本:
SELECT TRUNC (MONTHS_BETWEEN (sysdate, date_col)/12) || ' YEARS '
|| MOD (TRUNC (MONTHS_BETWEEN (sysdate, date_col)), 12) || ' MONTHS '
|| (TO_DATE (sysdate) – ADD_MONTHS (date_col,TRUNC (MONTHS_BETWEEN (sysdate, date_col)))) || ' DAYS'
FROM DUAL;
這個工作對我來說:
SELECT DATEDIFF(yy, '04/01/1999 00:00:00', GETDATE()) AS Years, DATEDIFF(m, '04/01/1999 00:00:00', GETDATE()) - (DATEDIFF(yy, '04/01/1999 00:00:00', GETDATE()) * 12) AS Months
理想的日期(04/01/1999' )將是一列或參數,以避免重複。
'DATEDIFF'是一個SQL Server函數。這不是Oracle中可用的 –
然後,不要將它標記爲SQL - 雖然我沒有看到oracle標記,但是我的錯誤。 – andrewb
「SQL」標籤用於涉及結構化查詢語言的問題。這是一個非常重要的SQL問題。它恰好是關於Oracle數據庫的SQL實現。如果你想尋找關於SQL Server的問題,你需要尋找像'sql-server'這樣的標籤。 –
- 1. 顯示日期,月份和年份代替當前的日期,月份和年份
- 2. T-SQL:從月份列中合併當前年份和月份
- 3. 顯示月份和年份
- 4. 我想顯示在日期,月份和年份在jquery
- 5. 顯示年份從當年開始到當月前一個月的月份
- 6. 在30天內獲取行,當年是當前年份,月份是當前月份,日期是字符串
- 7. excel如何顯示當前的月份和年份與空間
- 8. 月份和年份的日期轉換
- 9. 計算月份和年份的日期
- 10. 如何設置datepicker的日期只顯示月份和年份
- 11. 顯示DateTimePicker上的年份,月份和日期iOS
- 12. 我必須從輸入的月份/年份打印月份和年份到當前的月份和年份
- 13. android:如何在android中的日曆日期中顯示月份和年份?
- 14. 如何獲得當前日期,月份,年份在斯卡拉
- 15. 計算當前年份和當前月份的星期日數量?
- 16. 如何創建jQuery UI的日期選擇器當前的月份和日期和年份只顯示
- 17. 如何使用UIPickerView顯示日期月份和年份(Upto 2015)?
- 18. Plone 4:CalendarWidget僅顯示年份,無日期和月份
- 19. 添加年份,月份和日期C
- 20. 日期,月份和年份下拉框
- 21. 如何在unix中顯示以前的月份和年份值
- 22. 在JQuery日曆中顯示日期以及其他月份和月份和年份菜單
- 23. 僅在Xamarin表單中顯示日期選取器中的月份和年份
- 24. SQL:按月份和年份
- 25. 如何在gridview中只顯示當前月份的日期?
- 26. 從SQL日期中獲取月份和年份
- 27. 取輸入月份和年份在SQL Server日期2005系列
- 28. 可能「重置」UIDatePicker突出顯示的月份/日期/年份?
- 29. 當前日期,當前月份?
- 30. Django SelectDateWidget只顯示月份和年份
謝謝,這工作!另一個簡單的問題是,如果我使用兩次相同的表別名,這真的很重要嗎?例如,我有一些像SELECT e.column,i.column FROM table1 e,table2 i;後來我有CREATE VIEW查看AS SELECT e.column,i.column FROM table1 e,table2 i;它給了我一個「名稱已被現有對象使用」的錯誤,但該視圖似乎已經創建而沒有問題。 – user2616744
@ user2616744 - 這應該是一個單獨的問題,但是,是的,它確實很重要。視圖中不能有兩列命名爲相同的東西,就像在一個表中不能有兩個具有相同名稱的列一樣。 –