MySQL DATE((函数用于从日期时间中提取日期部分。使用PHP日期函数代替,或者您可以使用Carbon。
我有一个字符串列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()')
->whereRaw("CONCAT(event_date, ' ', time_start) > " . date('Y-m-d g:i A'))