SELECT concat(TO_CHAR(CURRENT_DATE - EXTRACT(DOW FROM CURRENT_DATE)::int , 'YYYYMMDD'),'0200') as last_sunday;
SELECT concat(TO_CHAR(CASE WHEN TO_CHAR(CURRENT_DATE,'D') in ('2', '4', '6') THEN CURRENT_DATE WHEN TO_CHAR(CURRENT_DATE,'D') IN ('3', '5', '7') THEN CURRENT_DATE-1 WHEN TO_CHAR(CURRENT_DATE,'D') IN ('1') THEN CURRENT_DATE-2 END, 'YYYYMMDD'),'0200') AS target_date;
SELECT concat(TO_CHAR(CASE
WHEN EXTRACT(DOW FROM CURRENT_DATE)::int in (1, 3, 5) THEN CURRENT_DATE
WHEN EXTRACT(DOW FROM CURRENT_DATE)::int IN (2, 4, 6) THEN CURRENT_DATE- 1
WHEN EXTRACT(DOW FROM CURRENT_DATE)::int IN (0) THEN CURRENT_DATE-2 END, 'YYYYMMDD'),'0200') AS target_date;
select EXTRACT(DOW FROM CURRENT_DATE);
select TO_CHAR( CURRENT_DATE,'D')
网友评论