Skill/postgreSQL

postgresql] timestamp의 날짜 변경

진열사랑 2025. 7. 1. 17:35

-- timestamp의 날짜만 변경/ 시간은 그대로

UPDATE tb_sn_oilq_data

SET mtrng_dt = DATE '2024-05-01' + (mtrng_dt::time)

WHERE inftwt_anls_sn =101 AND ppl_mng_no='L13101003'

 

-- 침입수량 조회

select oilq.day, round((oilq.avg_day_flow - inft.avg_day_flow)*24,-1) as avg_day_flow
from (
SELECT to_char(date_trunc('day', hour),'yyyymmdd') as day, avg(avg_flow) AS avg_day_flow
FROM (
SELECT
    date_trunc('hour', mtrng_dt) AS hour,
    AVG(oilq) AS avg_flow
FROM tb_sn_oilq_data
WHERE inftwt_anls_sn =101 AND ppl_mng_no='L13101003'
GROUP BY date_trunc('hour', mtrng_dt)
ORDER BY hour) o
GROUP BY to_char(date_trunc('day', hour), 'yyyymmdd')
) oilq 
join (
SELECT substr(hour, 1,8) as day, avg(avg_flow) AS avg_day_flow
FROM (
SELECT
    substr(anls_tm,1,10) AS hour,
    AVG(predc_oilq) AS avg_flow
FROM tb_sn_inftwt_anls_rslt_ppl
WHERE  inftwt_anls_sn =101 AND ppl_mng_no='L13101003'
GROUP BY substr(anls_tm,1,10)
ORDER BY hour) o
group by substr(hour, 1,8)
) inft on oilq.day = inft.day