laravel 原始查询日期比较
laravel raw query date comparisons
我有一个字符串列 ddate = ('2020-06-02')
和 time_start = ('4:25 PM')
,我想将其与 date('Y-m-d H:i A')
.
进行比较
说 date('Y-m-d H:i A')
= 2021-06-02 01:14 AM
...
我想要的是显示 ddate
+time_start
> date('Y-m-d H:I A')
的所有行
我的 where 子句是:
->whereRaw('CONCAT(event_date, " ", time_start) > DATE("Y-m-d H:i A")')
但结果仍然显示'2021-06-02 01:14 AM'以下的所有日期
我也试过了
->whereRaw('DATE("Y-m-d H:i", CONCAT(event_date, " ", time_start)) > DATE("Y-m-d H:i")')
但是我遇到了语法错误。
我的第二个查询是否已经正确但语法错误?
如果没有,我该如何实现我想要的?
如果您使用 php 传递当前日期,您必须这样做:
->whereRaw('CONCAT(event_date, " ", time_start) >'. date("Y-m-d H:i A"))
如果您希望 mysql 处理当前日期,请使用 now()
->whereRaw('CONCAT(event_date, " ", time_start) > now()')
MySQL DATE() 函数用于从日期时间中提取日期部分。请改用 PHP 日期函数,或者您可以使用 Carbon。
->whereRaw("CONCAT(event_date, ' ', time_start) > " . date('Y-m-d g:i A'))
我有一个字符串列 ddate = ('2020-06-02')
和 time_start = ('4:25 PM')
,我想将其与 date('Y-m-d H:i A')
.
说 date('Y-m-d H:i A')
= 2021-06-02 01:14 AM
...
我想要的是显示 ddate
+time_start
> date('Y-m-d H:I A')
我的 where 子句是:
->whereRaw('CONCAT(event_date, " ", time_start) > DATE("Y-m-d H:i A")')
但结果仍然显示'2021-06-02 01:14 AM'以下的所有日期
我也试过了
->whereRaw('DATE("Y-m-d H:i", CONCAT(event_date, " ", time_start)) > DATE("Y-m-d H:i")')
但是我遇到了语法错误。
我的第二个查询是否已经正确但语法错误?
如果没有,我该如何实现我想要的?
如果您使用 php 传递当前日期,您必须这样做:
->whereRaw('CONCAT(event_date, " ", time_start) >'. date("Y-m-d H:i A"))
如果您希望 mysql 处理当前日期,请使用 now()
->whereRaw('CONCAT(event_date, " ", time_start) > now()')
MySQL DATE() 函数用于从日期时间中提取日期部分。请改用 PHP 日期函数,或者您可以使用 Carbon。
->whereRaw("CONCAT(event_date, ' ', time_start) > " . date('Y-m-d g:i A'))