sql - 如何找到上个月的最后一天 'working'?

标签 sql postgresql date

有没有办法找到上个月的最后一个工作日?我知道我可以使用 SELECT (date_trunc('month', now())::date - 1) 获取上个月的最后一天,但如何获取最后一个“工作日”?

最佳答案

我相信这可以满足您的需求:

select (date_trunc('month', current_date) + interval '1 month' -
        (case extract(dow from date_trunc('month', current_date) + interval '1 month')
              when 0 then 2
              when 1 then 3
              else 1
         end) * interval '1 day'
       ) as last_weekday_in_month

此类请求通常表明需要日历表。

关于sql - 如何找到上个月的最后一天 'working'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068453/

相关文章:

mysql日期比较只比较年份

mysql - 如何选择第二个表上某个日期之前一年内的所有 ID?

sql - 返回 sql 中属性共有的值的总和?

java - jOOQ 无法在 PostgreSQL 模式下为 H2 数据库正确翻译 SQL

mysql - MySQL 中的查询出现问题,该查询过滤掉了我想要显示的记录

sql - 触发器函数中的 Postgres dblink_exec

postgresql - 将没有时区的时间的默认值插入为 hh :mm:ss format in Postgres sql

mysql - 在另一个表中按日期选择最后一个值

java - Hibernate HQL 中的 SQL 计数

mysql - 数据库设计 - 链接相同实体的多对多表?