Sql 执行select语句时将日期作为列名

Sql 执行select语句时将日期作为列名,sql,oracle,Sql,Oracle,我想在执行select语句时将日期显示为列名,如 select number as sysdate from employee; 但这是行不通的。如何执行此操作SQL查询在固定列上工作,即在执行查询之前,结果列(及其名称)是已知的 当然,您可以使用诸如“today”之类的列名: select sum(case when mydate = sysdate then value end) as sum_today, sum(case when mydate = sysdate - 1 th

我想在执行select语句时将日期显示为列名,如

select number as sysdate from employee;

但这是行不通的。如何执行此操作

SQL查询在固定列上工作,即在执行查询之前,结果列(及其名称)是已知的

当然,您可以使用诸如“today”之类的列名:

select
  sum(case when mydate = sysdate then value end) as sum_today,
  sum(case when mydate = sysdate - 1 then value end) as sum_yesterday
from mytable;
但是SQL不能更改列名

无论如何,用户通常不会使用某些极客的SQLIDE,而是使用我们编写的程序或网站。那为什么要麻烦呢?让SQL为您获取数据,然后关注应用程序中的布局(通常带有循环和网格)

简单地

select mydate, sum(value) as sum_value
from mytable
group by mydate
order by mydate;

然后在应用程序中执行其余操作。

列名称在SQL语句中是“常量”。要执行所需操作,您需要使用动态SQL。如果您希望捕获有关何时检索该数据的信息,我通常只需在查询中添加另一列:
select sysdate as“as of”,e.*从员工e中
否,我在某个表中有一些数据,我想显示在这个特定日期得到的这些RCORD。示例1-3-2017(30)1-2-2017(20)1-1-2017(10)您的问题,并添加一些样本数据和基于该数据的预期输出。请,我认为使用pivot或decode可以。oracle 11g使用pivot和以前使用的解码。