我正在编写一个select查询,是否可以替换select语句中显示的数据。例如,我的选择查询的结果类似于
Name Date Total
---- ---- ----
No1 6/30/15 20
No2 6/29/15 35
No3 6/20/15 40
No4 6/30/15 65
No5 6/27/15 25
我想根据日期进行计算,并用NULL或N / A替换单元格中的整个数据。对于上表,如果日期是今天的日期,则所有字段应保持不变,否则它应更新为空白。
Name Date Total
---- ---- ----
No1 6/30/15 20
No2 6/29/15
No3 6/20/15
No4 6/30/15 65
No5 6/27/15
答案 0 :(得分:3)
你可以使用以下任何一种:
DECODE
CASE
使用 DECODE (看起来更短):
SELECT name,
DATE,
DECODE(DATE, TRUNC(SYSDATE), total, NULL) AS "Total"
FROM table_name;
使用 CASE (看起来详细):
SELECT name,
DATE,
CASE
WHEN DATE = TRUNC(SYSDATE)
THEN total
ELSE NULL
END AS "Total"
FROM table_name;