如何使用DATEDIFF?有多少天两个日期内
题
如何使用DATEDIFF?我怎样才能让这个工作?或应该使用DATEDIFF完全地不同?
SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';
我试图得到答案,有多少天是两个日期内。
我想获得一个aswer,如:点击 持续时间= 7天;
我有这样的数据库:
开始| will_end结果 2009-12-17 | 2009-12-24点击 2009-12-12 | 2009-12-26
解决方案
把will_end
第一,第二started
:
SELECT DATEDIFF('2009-12-24', '2009-12-17')
---
7
此外,从您的字段名称中删除单引号:
SELECT DATEDIFF(will_end, started) AS Duration
FROM my_table
WHERE id = 110
,或者与反引号替换它们:
SELECT DATEDIFF(`will_end`, `started`) AS `Duration`
FROM `my_table`
WHERE `id` = 110
其他提示
您得到一个NULL
结果呢?你必须在单引号中的列名在查询中,这意味着要传递的字符串'Started '
和'will_end'
到DATEDIFF
而不是列的值。尝试删除单引号,你将开始看到一些成果:
SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';
请注意,这会给你一个负的结果。为了得到一个肯定的结果,反向列的顺序:
SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';
替换的顺序
DATEDIFF( 'will_end', '开始')
我认为有在要传递3参数 DATEDIFF(日期部分,开始日期,结束日期)
因此您的代码将是 DATEDIFF(DD, '开始', 'will_end')
不隶属于 StackOverflow