Testei agora no localhost, com o MariaDB, e funcionou perfeitamente.
Então, o problema deve ser mesmo a versão do MySQL do provedor.
Vou providenciar a substituição.
Moderador: Moderadores
select * from
(select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from
(select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
(select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where gen_date between '2017-01-01' and '2017-12-31'
FOR nDigito1 = 0 TO 9
FOR nDigito2 = 0 TO 9
FOR nDigito3 = 0 TO 9
FOR nDigito4 = 0 TO 9
FOR nDigito5 = 0 TO 9
? Stod( "19700101" ) + ;
( nDigito1 * 10000 ) + ;
( nDigito2 * 1000 ) + ;
( nDigito3 * 100 ) + ;
( nDigito4 * 10 ) + ;
nDigito5
NEXT
NEXT
NEXT
NEXT
NEXT
WITH a as ( select 0 as x union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9 )
SELECT * FROM
( select adddate('1970-01-01',a.x*10000 + b.x*1000 + c.x*100 + d.x*10 + e.x) as gen_date
FROM
a, a AS b, a AS C, a AS d, a AS e
) AS x
where gen_date between '2017-01-01' and '2017-12-31'
JoséQuintas escreveu:mas a outra opção usando recursivo parece melhor.
JoséQuintas escreveu:aprendemos na escola sobre operações assim, só não lembro qual era o nome, lembro vagamente sobre união, intersecção, e coisas do tipo
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes