我的表格有这样的数据结构
cate_id task_id date_start date_end other
34 14 2012-06-27 10:21:39 2012-06-27 10:21:42 Volume
34 14 2012-06-27 10:21:42 2016-01-01 00:00:00 Volume
UPDATE tbl SET other ='new'
WHERE task_id =14
AND cate_id=34
AND DATE_FORMAT('date_start','%Y-%m-%d')='2012-06-27'
AND DATE_FORMAT('date_end','%Y-%m-%d')='2016-01-01';
我的目标只是将日期与格式'%Y-%m-%d'进行比较,而不是整个值。
可以像上面的mysql脚本一样吗?因为它成功执行了sql脚本,但是没有更新我具体的col?有人可以告诉我吗?感谢
答案 0 :(得分:6)
...坎
尝试删除date_start
和date_end
周围的引号:
AND DATE_FORMAT(date_start,'%Y-%m-%d')='2012-06-27'
AND DATE_FORMAT(date_end,'%Y-%m-%d')='2016-01-01';
答案 1 :(得分:0)
尝试使用date(date_start)
和date(date_end)
代替date format
UPDATE tbl SET other ='new'
WHERE task_id =14
AND cate_id=34
AND date(date_start)='2012-06-27'
AND date(date_end)='2016-01-01';
仅供参考:function_date