代码之家  ›  专栏  ›  技术社区  ›  Lajith

postgresql查询中的问题

  •  0
  • Lajith  · 技术社区  · 6 年前

    我有以下查询。但交易日期,金额,余额显示为空。我对postgresql不熟悉。但在sql server中,值正在显示

    CREATE TEMP TABLE tran
      (TranDate,Amount,Balance) AS
    VALUES 
      ('2019-01-01'::date, 1000::int,1000::int), 
      ('2019-01-02', 2000,3000), 
      ('2019-01-03', NULL,3000),
      ('2019-01-04', -500,2500);
    
    
      SELECT tran.TranDate,tran.Amount,tran.Balance, date(d) as day
             FROM   generate_series(timestamp '2018-01-01'
                         , timestamp '2018-01-31'
                         , interval  '1 day') d  
                 left join  tran  ON  date(tran.TranDate) = d 
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Gordon Linoff    6 年前

    如果使用重叠的日期范围运行代码,将看到以下结果:

    SELECT tran.TranDate, tran.Amount, tran.Balance, date(d) as day
    FROM generate_series(timestamp '2019-01-01',
                         timestamp '2019-01-31',
                         interval  '1 day'
                        ) d left join
         tran 
         ON  date(tran.TranDate) = d ;
    

    你可以观察到这一点 this