有關於時間戳的pgsql操作


create_time是timestamp類型的,我需要獲取以天為單位的數據

使用to_char函數將create_time轉換為char,再使用substring轉換為string

SELECT
    substring(
        to_char(
            t.create_time,
            'yyyy-MM-dd hh24 : MI : ss'
        ) from 1 for 10
    ) date
FROM
    t
GROUP BY
    date
ORDER BY
    date;

 

查出每一天的時間差,sku總數,然后查詢每天日期

age(MAX (create_time), MIN (create_time))是最大值與最小值之差
SELECT
 SUBSTRING (
        to_char( A .create_time,'yyyy-MM-dd hh24 : MI : ss')
        FROM
         1 FOR 10
     ) DATE,
 age(MAX (create_time), MIN (create_time)) timeDiffrent,
 SUM (qty) SKU
FROM
  A
WHERE
 SUBSTRING (
  to_char(
   A .create_time,
   'yyyy-MM-dd hh24 : MI : ss'
  )
  FROM
   1 FOR 10
 ) IN (
  SELECT
   SUBSTRING (
    to_char(
     T .create_time,
     'yyyy-MM-dd hh24 : MI : ss'
    )
    FROM
     1 FOR 10
   ) DATE
  FROM
    T
  GROUP BY
   DATE
 )
GROUP BY
 DATE
ORDER BY
 DATE;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM