在PostgreSQL中获取前一个工作日,可以使用以下方法:
SELECT CASE
WHEN EXTRACT(ISODOW FROM current_date - interval '1 day') IN (6, 7)
THEN current_date - interval '1 day' - interval '1 day'
ELSE current_date - interval '1 day'
END AS previous_workday;
CREATE OR REPLACE FUNCTION get_previous_workday(date_val date)
RETURNS date AS
$$
DECLARE
previous_date date := date_val - interval '1 day';
BEGIN
WHILE EXTRACT(ISODOW FROM previous_date) IN (6, 7) LOOP
previous_date := previous_date - interval '1 day';
END LOOP;
RETURN previous_date;
END;
$$
LANGUAGE plpgsql;
使用自定义函数来获取前一个工作日:
SELECT get_previous_workday(current_date) AS previous_workday;
这些方法可以在PostgreSQL中获取前一个工作日。请注意,以上示例中的代码仅供参考,具体实现可能因环境和需求而有所不同。
腾讯云提供的与PostgreSQL相关的产品是TDSQL(https://cloud.tencent.com/product/tdsql),它是一种高度兼容的云数据库,支持PostgreSQL和MySQL。您可以使用TDSQL来托管和管理PostgreSQL数据库,以实现高可用性和可扩展性。
领取专属 10元无门槛券
手把手带您无忧上云