select to_char(
(to_date(20160218, 'yyyymmdd') + (level - 1) / 24),
'yyyymmddhh24'
) dt
from dual
connect by level <= 24这个SQL可以在Oracle中运行,但是MySQL不支持这些分层函数(connect by level)。
如何将其转换为MySQL?
发布于 2016-02-18 20:51:38
您不一定需要一个递归查询来生成24个值。您可以改用UNION ALL:
select '2016021800' as dt
union all
select '2016021801' as dt
union all
...
union all
select '2016021823' as dt;使用可变日期也可以做到这一点,例如当前日期:
select date_format(curdate(), '%Y%m%d') || '01'
union all
select date_format(curdate(), '%Y%m%d') || '02'
union all
...
union all
select date_format(curdate(), '%Y%m%d') || '23';https://stackoverflow.com/questions/35481716
复制相似问题