使用 MySQL 原生查询和 ThinkPHP 数据库查询排除节假日数据

本文将介绍如何使用 MySQL 原生查询和 ThinkPHP 数据库查询,分别编写查询语句以剔除节假日内容。

MySQL 原生查询语句

SELECT * FROM your_table WHERE DATE_FORMAT(your_date_column, '%Y-%m-%d') NOT IN (
  SELECT DATE_FORMAT(holiday_date, '%Y-%m-%d') FROM holidays_table
)

其中:

  • your_table 是你要查询的表名
  • your_date_column 是包含日期的列名
  • holidays_table 是包含节假日日期的表名
  • holiday_date 是包含节假日日期的列名

ThinkPHP 数据库查询语句

$holidayDates = Db::name('holidays_table')->column('holiday_date');
$result = Db::name('your_table')
  ->whereNotIn('DATE_FORMAT(your_date_column, '%Y-%m-%d')', $holidayDates)
  ->select();

其中:

  • holidays_table 是包含节假日日期的表名
  • holiday_date 是包含节假日日期的列名
  • your_table 是你要查询的表名
  • your_date_column 是包含日期的列名

这两个查询语句都是通过将日期格式化为 'YYYY-MM-DD' 的形式,然后使用 'NOT IN' 或 'whereNotIn' 来剔除节假日日期。请根据实际情况修改表名和列名。

MySQL 和 ThinkPHP 查询排除节假日数据

原文地址: https://www.cveoy.top/t/topic/l1dm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录