在sql和laravel中将数据库字符串转换为日期



我在这里犯了一个问题。我以字符串格式将日期存储到数据库中,但现在我正在查找日期的基础上的记录。但这并没有奏效。这个问题的解决办法是什么?

数据类型:varchar|data:例如。01-10-2002

$current_month_balance =
tbl_wallet_detail::
whereMonth('start_date', date('m'))
->whereYear('start_date', date('Y'))
->get();

一种解决方案是将该列的数据库类型更改为日期,如果可能的话,我会说这将是正确的解决方案。

如果这是不可能的,您可以尝试这样做(基于您提供的日期格式):

$current_month_balance =
tbl_wallet_detail::
whereMonth(DB::raw("STR_TO_DATE(start_date, '%d-%m-%Y')"), date('m'))
->whereYear(DB::raw("STR_TO_DATE(start_date, '%d-%m-%Y')"), date('Y'))
->get();

这将搜索原始DB语句而不是属性。MySQL

相关内容

  • 没有找到相关文章

最新更新