Postgresql 我今天要摘录';s日期和if今天';s日期是星期五,然后做(今天-3)其他(今天-11)
我想提取今天的日期,如果今天的日期是星期五,那么执行(今天-3)else(今天-11),并在下面的delete语句中使用此查询的结果 我的问题是:Postgresql 我今天要摘录';s日期和if今天';s日期是星期五,然后做(今天-3)其他(今天-11),postgresql,Postgresql,我想提取今天的日期,如果今天的日期是星期五,那么执行(今天-3)else(今天-11),并在下面的delete语句中使用此查询的结果 我的问题是: Delete from table where date<(above result) select now()::timestamp::date; this statement will give me the today's date select to_char(now()::timestamp::date, 'dy') this wi
Delete from table where date<(above result)
select now()::timestamp::date; this statement will give me the today's date
select to_char(now()::timestamp::date, 'dy') this will give me week day in string
select extract(dow from now()::timestamp) this will give me week day in integer
Delete from table where date您可以这样尝试:
select case extract(dow from current_date) when 5
then (CURRENT_DATE - INTERVAL '3 day')
else
CURRENT_DATE - INTERVAL '11 day' end
您可以这样尝试:
select case extract(dow from current_date) when 5
then (CURRENT_DATE - INTERVAL '3 day')
else
CURRENT_DATE - INTERVAL '11 day' end
拉胡尔的回答是正确的,但如果你不想走自己的路
当
SELECT CASE WHEN extract(dow from now()::timestamp) = 5
THEN (select now()::timestamp::date) - 3
ELSE (select now()::timestamp::date) - 11
END
希望它能有所帮助:)拉胡尔的答案是正确的,但如果你不想走自己的路
当
SELECT CASE WHEN extract(dow from now()::timestamp) = 5
THEN (select now()::timestamp::date) - 3
ELSE (select now()::timestamp::date) - 11
END
希望有帮助:)