You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PostgreSQL中判断日期是否为当月第一天

PostgreSQL 判断日期是否为当月第一天的实现方案

实现查询

以下 SQL 语句可直接生成包含 Month_Start 字段的结果集,标记日期是否为当月第一天:

SELECT 
    "Student Name",
    "Start Date",
    "Start Date" = date_trunc('month', "Start Date")::date AS "Month_Start"
FROM 
    students;

示例数据

假设学生数据存储在 students 表中,数据如下:

Student Name    Start Date  
ABC             2021-01-01  
DEF             2021-01-02  
GHI             2021-02-03  
JKL             2021-02-01  
MNO             2021-01-05  
PQR             2021-03-06  
STU             2021-03-01  

查询结果

执行上述 SQL 后,得到的结果集如下:

Student Name    Start Date  Month_Start
ABC             2021-01-01  TRUE
DEF             2021-01-02  FALSE
GHI             2021-02-03  FALSE
JKL             2021-02-01  TRUE
MNO             2021-01-05  FALSE
PQR             2021-03-06  FALSE
STU             2021-03-01  TRUE

逻辑说明

  • date_trunc('month', "Start Date"):将日期截断到当月的起始时刻(例如 2021-01-01 00:00:00)
  • ::date:将截断后的 timestamp 类型转换为 date 类型,得到当月第一天的日期值
  • 对比原日期与当月第一天的日期,相等则返回 TRUE,否则返回 FALSE

内容的提问来源于stack exchange,提问作者Vikas Dwivedi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 13:15:28