【问题标题】:Date between two values - Lavarel SQL两个值之间的日期 - Laravel SQL
【发布时间】:2021-11-28 22:10:29
【问题描述】:

我有一个这样的结构表:Start_dateEnd_date

现在有了今天的日期,我应该去获取所有数据,包括来自Start_DateEnd_Date 的数据,我该怎么办?

我试过了

SELECT * 
FROM text 
WHERE Start_date BETWEEN '2021-10-10' AND '2021-10-08' 
OR End_date BETWEEN '2021-10-08' AND '2021-10-10

但无济于事......

【问题讨论】:

  • 请添加示例数据以明确您在此处尝试执行的操作。
  • 我需要选择所有由两个日期组成的字段 start_date 和 end_date 日期以这种格式添加 2021-10-10 (yyyy/mm/dd)
  • @JDPinko 请编辑您的问题并添加表格描述、插入格式的一些数据以及基于您将提供的数据的预期结果
  • 你需要 laravel eloquent 还是 MySQL 查询?
  • “但无济于事”并没有告诉我们太多。你有错误吗?如果是什么错误。你会得到意想不到的结果吗?如果是这样,结果是什么?您的预期是什么?

标签: mysql sql laravel date difference


【解决方案1】:
  1. 如果您只想获取从开始到结束日期的数据,您可以使用这个雄辩的代码
$start_date = "2020-10-20";
$end_date = "2021-10-20";
Text::where(function ($wh) use ($start_date, $end_date) {
   $wh->whereBetween('Start_date', [$start_date, $end_date])->orwhereBetween('End_date', [$start_date, $end_date]);
})->get();

这是来自上述雄辩代码的原始查询

select * from `users` where (`Start_date` between '2020-10-20' and '2021-10-20' or `End_date` between '2020-10-20' and '2021-10-20')
  1. 如果您想查找从开始到结束日期的数据,包括今天的日期,您可以使用这个雄辩的代码
$start_date = "2020-10-20";
$end_date = "2021-10-20";
Text::where(function ($wh) use ($start_date, $end_date) {
   $today_date = date('Y-m-d');
   $wh->where(function ($or_where) use ($start_date, $end_date) {
      $or_where->whereBetween('Start_date', [$start_date, $end_date])
               ->orwhereBetween('End_date', [$start_date, $end_date]);
            })->orwhereRAW("('{$today_date}' between `Start_date` and `End_date`)");
})->get();

这是来自上述雄辩代码的原始查询

select * from `text` where ((`Start_date` between '2020-10-20' and '2021-10-20' or `End_date` between '2020-10-20' and '2021-10-20') or ('2021-10-09' between `Start_date` and `End_date`))

【讨论】:

    【解决方案2】:

    Laravel 中的 whereBetween 方法将确定项目值是否在给定范围内。

    $start = '2021-10-08';
    $end = '2021-10-10';
    
    Text::whereBetween('start_date', [$start, $end])
          ->whereBetween('end_date', [$start, $end])
          ->get();
    

    【讨论】:

      猜你喜欢
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 2015-06-21
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-19
      相关资源
      最近更新 更多