奇怪但我无法理解到底发生了什么。我只是想通过计算两个日期之间的差异来更新我的列值。我有两列日期column_45
和column_14
两列的日期格式为4/8/2011
和4/8/2009
现在我正在使用DATEDIFF()
函数计算两个日期之间的差异并更正我正在使用STR_TO_DATE()
函数的日期格式。当我从phpmyadmin
运行查询时,一切正常,当我从laravel项目运行同一查询时,显示错误:
日期时间值不正确:函数str_to_date为'否'(SQL:UPDATE
define_testing
set column_1637 = DATEDIFF(STR_TO_DATE(column_45
,“%m /%d /%Y”),STR_TO_DATE({ {1}},“%m /%d /%Y”))其中id> 1)
我知道我的列中有一些字符串值,但它应该在phpmyadmin中也显示相同,但它在phpmyadmin中工作正常。
我的表:
Exact MySql查询:
column_14
任何人都可以告诉我出了什么问题吗?
答案 0 :(得分:0)
尝试使用返回布尔值的raw queries DB::statement
。
DB::statement('UPDATE '. $table .' set column_'. $colCount .' = DATEDIFF(STR_TO_DATE('.$value->col_one.',"%m/%d/%Y"),STR_TO_DATE('.$value->col_two.',"%m/%d/%Y")) where id > 1');