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

时间:2017-01-03 12:29:46

标签: sql oracle

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

select number as sysdate from employee;

但这不起作用。我该怎么做

1 个答案:

答案 0 :(得分:0)

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

当然,您可以使用“今天”等列名:

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无法更改列名。

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

简单地

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

并在您的应用中完成其余工作。