如果你想在数据库中进行检查,然后根据条件执行不同的 SQL 语句,可以使用存储过程( Stored Procedure )或者函数。下面是一个简单的例子,假设你使用的是 MySQL 数据库: -- 创建存储过程 DELIMITER // CREATE PROCEDURE UpdateOrInsertForMonth(IN target_month VARCHAR(6)) BEGIN DECLARE record_count INT; -- 检查记录数量 SELECT COUNT(1) INTO record_count FROM attendance_workday WHERE date_ymd LIKE CONCAT(target_month, '%'); -- 根据记录数量执行不同的 SQL 语句 IF record_count > 0 THEN -- 如果有记录,则执行 UPDATE 语句 UPDATE your_table SET your_column = 'new_value' WHERE date_ymd LIKE CONCAT(target_month, '%'); ELSE -- 如果没有记录,则执行 INSERT 语句 INSERT INTO your_table (date_ymd, your_column) VALUES ('20240101', 'new_value'); -- 这里请根据实际表结构和字段进行修改 END IF; END // DELIMITER ; 上述例子中,your_table 和 your_column 需要替换为你实际的表名和列名。存储过程中的逻辑可以根据你的需求进行修改。 然后,你可以调用这个存储过程,传入不同的月份作为参数,例如: -- 调用存储过程,传入月份 '202401' CALL UpdateOrInsertForMonth('202401');