簡體   English   中英

Oracle SQL中如何將日期轉換為日期格式並按日期排序數據

[英]How to convert dates to date format and sort data by date in Oracle SQL

我正在嘗試創建一個條形圖,但是 X 軸日期與我當前的代碼不符。 我知道我必須將 to_ char 設置為 to _date 但不確定如何操作,因為我還需要日期作為 char 以及綁定變量。

select project_name, Dates, sum(records_number) as 
from (
select project_name, 
  case 
    when :P33_Date_Range = 'Monthly' then
      to_char(date_sys, 'Month') 
    when :P33_Date_Range = 'Daily' then
      to_char(date_sys, 'DD-Mon-YYYY') 
    when :P33_Date_Range = 'Weekly' then
      to_char(TRUNC(date_sys, 'IW'), 'DD-Mon-YYYY')
  end as Dates, date_sys, records_number
from BATCH
WHERE date_sys BETWEEN TO_DATE('01/01/2022') AND TO_DATE('01/01/2023')
) my_records
group by project_name, Dates
order by project_name, Dates
;

我知道我必須將 to_ char 設置為 to _date 但不確定如何操作,因為我還需要日期作為 char 以及綁定變量。

將日期截斷到子查詢中的適當范圍,然后在聚合后使用它來排序並格式化外部查詢中的日期:

SELECT project_name,
       TO_CHAR(date_sys, 'DD-Mon-YYYY') AS dates,
       SUM(records_number) AS total
FROM   (
  SELECT project_name, 
         CASE :P33_Date_Range
         WHEN 'Monthly'
         THEN TRUNC(date_sys, 'MM') 
         WHEN 'Daily'
         THEN TRUNC(date_sys, 'DD') 
         WHEN 'Weekly'
         THEN TRUNC(date_sys, 'IW')
         END AS date_sys,
         records_number
  FROM   BATCH
  WHERE  date_sys >= DATE '2022-01-01'
  AND    date_sys <  DATE '2023-01-01'
)
GROUP BY project_name, date_sys
ORDER BY project_name, date_sys;

如果您希望月份格式不同,則:

SELECT project_name,
       TO_CHAR(
         date_sys,
         CASE :P33_Date_Range
         WHEN 'Monthly'
         THEN 'Month'
         ELSE 'DD-Mon-YYYY'
         END
       ) AS dates,
       SUM(records_number) AS total
FROM   (
  SELECT project_name, 
         CASE :P33_Date_Range
         WHEN 'Monthly'
         THEN TRUNC(date_sys, 'MM') 
         WHEN 'Daily'
         THEN TRUNC(date_sys, 'DD') 
         WHEN 'Weekly'
         THEN TRUNC(date_sys, 'IW')
         END AS date_sys,
         records_number
  FROM   BATCH
  WHERE  date_sys >= DATE '2022-01-01'
  AND    date_sys <  DATE '2023-01-01'
)
GROUP BY project_name, date_sys
ORDER BY project_name, date_sys;

小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM