麻烦问两个sql查询啊,面试题中遇到的,谢谢!

2025-03-25 20:04:01
推荐回答(2个)
回答1:

SELECT SUM(CASE T.TRADE_TYPE
             WHEN 0 THEN
              T.AMOUNT
             ELSE
              0
           END) - SUM(CASE T.TRADE_TYPE
                        WHEN 1 THEN
                         T.AMOUNT
                        ELSE
                         0
                      END) LAST_AMOUNT
  FROM T_ORDER T
 WHERE T.CUT_DATE = '20150726';

回答2:

select sum( case when trade_type = 0 then amont
when trade_type = 1 then -amount) amount
from t_order

where cut_date=to_date('20150726','yyyymmdd');

select substr(card_num,1,4)||lpad('*',length(card_num)-4-4,'*)||substr(card_num,-4) from dual