laravel5.4、mysql 5.6.35在where子句中使用str\u to\u date时结果为空

r6l8ljro  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(242)

我在雄辩的查询生成器中得到空的结果,而复制sql(from->tosql()函数)并在phpadmin中运行它则非常有效。我的问题是:

$reportData=DB::table('my_table')
->select('my_table.*')
->whereRaw("STR_TO_DATE(my_table.date, '%m.%Y') >= STR_TO_DATE('01.2017', '%m.%Y')")

tosql返回的sql等价项是:

select *
from my_table
where STR_TO_DATE(my_table.date, '%m.%Y') >= STR_TO_DATE('01.2017', '%m.%Y')

注意:我使用了另一个mysql函数,比如upper,date\格式whereraw,这没有问题;但从现在到现在都是这样。
我在官方网站上查过,str\u to\u date应该用mysql 5.7,mysql 5.6,mysql 5.5,mysql 5.1,mysql 5.0,mysql 4.1,mysql 4.0,mysql 3.23。
请帮忙:)
--更新——我重新检查了mysql\u日志,这里有:-第一个日志(id=1)是在通过laravel运行查询时创建的-第二个日志(id=2)来自phpmyadmin

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题