【发布时间】:2017-05-14 19:34:50
【问题描述】:
这很奇怪,但我不明白到底发生了什么。我只是想通过计算两个日期之间的差异来更新我的列值。我有两列的日期为column_45 和column_14 两列的日期格式为4/8/2011 和4/8/2009 现在我正在使用DATEDIFF() 函数计算两个日期之间的差异,并更正我正在使用的日期格式@ 987654330@ 功能。当我从 phpmyadmin 运行查询时一切正常,当我从我的 laravel 项目运行相同的查询时,它显示错误:
不正确的日期时间值:函数 str_to_date 的“否”(SQL:UPDATE
define_testingset column_1637 = DATEDIFF(STR_TO_DATE(column_45,"%m/%d/%Y"),STR_TO_DATE(column_14," %m/%d/%Y")) 其中 id > 1)
我知道我的列中有一些字符串值,但它应该在 phpmyadmin 中也显示相同的值,但它在 phpmyadmin 中工作正常。
我的桌子:
精确的 MySql 查询:
UPDATE `define_testing` set `column_1637` = DATEDIFF(STR_TO_DATE(`column_45`,"%m/%d/%Y"),STR_TO_DATE(`column_14`,"%m/%d/%Y")) where id > 1
谁能告诉我怎么回事?
【问题讨论】:
-
你的专栏真的是这样命名的吗?这将是一场噩梦。
-
这是临时表。在我的情况下,列名将是动态的...
-
正如您在错误消息中看到的,日期值之一导致了问题。您可以手动输出查询并将其添加到问题中吗?执行的确切查询会很有帮助。
-
检查我的更新。
-
datevalue 导致错误,因为一些字符串形式的数据
No,Active,但它在 phpmyadmin 中工作正常..