在sql数据库中的Datediff查询返回null

时间:2014-10-09 16:47:44

标签: mysql

我试图找出某个日期是某个日期还是表格中的一个字段。所以我写了两个查询来测试它。

首先是这个:

SELECT * FROM tasks WHERE name='Tareas';

这让我:

+--------+----------+-----------------------+------------+-------------+----------------------------+-----------+---------+-------+                                                                                                                                            
| name   | user     | proyect               | start_date | update_date | description                | status    | percent | keyid |                                                                                                                                            
+--------+----------+-----------------------+------------+-------------+----------------------------+-----------+---------+-------+                                                                                                                                            
| Tareas | spruebas | Y otro proyectito mas | 2014-09-18 | 2014-09-18  | Para que vea algo el pobre | Pendiente |       0 |     5 |                                                                                                                                            
+--------+----------+-----------------------+------------+-------------+----------------------------+-----------+---------+-------+

然后我尝试使用此测试查询:

SELECT DATEDIFF('2014-10-09','update_date') AS pepe  FROM tasks WHERE name='Tareas';

然而,这会将pepe返回为NULL。我究竟做错了什么?我不应该得到日期的差异(正面或负面)吗?我知道日期格式是一样的。

1 个答案:

答案 0 :(得分:0)

字符串'update_date'不是有效日期。引用列时,如果它与reserved word冲突,请省略引号或使用反引号。

你想要的是:

DATEDIFF('2014-10-09',update_date)