如何将mysql datediff结果设置为行列表

时间:2015-12-07 07:04:28

标签: mysql

我想问你们关于MySQL中的DateDiff的事情。

例如,这里是一些mysql datediff的代码。

select datediff('2015-10-11', '2015-10-15') as Diffdate

,结果将是

| DiffDate |
------------
|       4  |
------------

所以,我的问题是,如何将Diffdate结果变为从1到diffDate结果的某种行号?

这是我想要的结果。

| DiffDate |
------------
|       1  |
|       2  |
|       3  |
|       4  |
------------

提前谢谢

1 个答案:

答案 0 :(得分:1)

首先要选择1到31之间的数字:

 select n.x from 
     (Select 1 x
      union select 2 x
     union select 3 x
...
       union select 31 x) n ,
     (select datediff('2015-10-15', '2015-10-11') as Diffdate) d
     where n.x <= d.Diffdate

我上面的例子应该datediff('2015-10-11', '2015-10-15')是-4:这就是我交换args命令的原因。