繁体   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