【发布时间】:2019-09-11 14:49:08
【问题描述】:
我对 2 月 29 日的日期有疑问。
我有一个从 PHP/Laravel 接收作为动态参数的年份的查询。未插入月份和日期。发送到数据库的查询包括当前日期的当前年份。我想将日期与数据库中的特定列进行比较,如果日期无效(例如:02-29-2019),我想将日期与 03-01-2019 进行比较
->whereRaw("DATE(CONCAT_WS('-',YEAR(?),MONTH(sendDate),DAY(sendDate)))
>= birthdate",[$date])
如果生成的连接日期无效,则上述查询返回 null 例如:2019-02-29
我想要的 PUSEDO 代码/功能:
if "DATE(CONCAT_WS('-',YEAR(?),MONTH(sendDate),DAY(sendDate) is NULL
and MONTH(sendDate)=03 and DAY(sendDate)=01" THEN
WHERE Birthdate>= DATE(CONCAT_WS('-',YEAR(?),03,01)
ELSE
WHERE Birthdate>= DATE(CONCAT_WS('-',YEAR(?),MONTH(sendDate),DAY(sendDate)
MySQL 中是否有一个函数可以帮助解决这个问题?我当前查询的问题
【问题讨论】:
标签: mysql laravel date leap-year