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

如何验证两个日期:确保二者月份保持一致

日期月份一致性验证与修正方案

需求说明:需确保数据表中firstDate与secondDate的月份完全一致,不允许二者月份不同。

原始数据示例

firstDatesecondDate
2022-12-022023-01-02
.....

正确数据示例

firstDatesecondDate
2022-12-022023-12-02
...

1. 查询月份不一致的数据

通过提取日期的月份部分进行对比,筛选出不符合要求的记录:

PostgreSQL 语法

SELECT firstDate, secondDate
FROM your_table_name
WHERE EXTRACT(MONTH FROM firstDate) != EXTRACT(MONTH FROM secondDate);

MySQL 语法

SELECT firstDate, secondDate
FROM your_table_name
WHERE MONTH(firstDate) != MONTH(secondDate);

2. 修正月份不一致的secondDate

将secondDate的月份替换为firstDate的月份,同时保留原有的年份和日期部分:

PostgreSQL 语法

UPDATE your_table_name
SET secondDate = TO_DATE(
    CONCAT(
        EXTRACT(YEAR FROM secondDate), '-',
        EXTRACT(MONTH FROM firstDate), '-',
        EXTRACT(DAY FROM secondDate)
    ), 'YYYY-MM-DD'
)
WHERE EXTRACT(MONTH FROM firstDate) != EXTRACT(MONTH FROM secondDate);

MySQL 语法

UPDATE your_table_name
SET secondDate = STR_TO_DATE(
    CONCAT(
        YEAR(secondDate), '-',
        MONTH(firstDate), '-',
        DAY(secondDate)
    ), '%Y-%m-%d'
)
WHERE MONTH(firstDate) != MONTH(secondDate);

3. 验证修正结果

执行更新后,可通过以下语句确认所有数据月份已一致:

-- 通用语法(PostgreSQL/MySQL均适用)
SELECT COUNT(*) AS mismatched_count
FROM your_table_name
WHERE EXTRACT(MONTH FROM firstDate) != EXTRACT(MONTH FROM secondDate);

若返回结果为0,则说明所有记录的月份已匹配。


内容的提问来源于stack exchange,提问作者Handi Tjioe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:25:32