Seleção de formatos de data para cálculos agregados do banco de dados com Django

votos
3

Eu gostaria de fazer cálculos agregados com base no mês para um campo de data e hora.

Atualmente, estou usando a função extra () para formatar a data como:

...extra(select=strftime('column', '%m/%Y') as t).values('t').annotate(SUM(foo))

e ele funciona muito bem para sqlite3.

Em sqlite3 posso usar strftime (), mas que não funciona com o MySQL. No MySQL posso usar date_format (), mas isso não funciona com sqlite3.

Como posso reescrever isso funcione para ambos os tipos de banco de dados?

A maioria dos desenvolvedores simplesmente usar sqlite3 em suas máquinas dev, e MySQL é usado no servidor prod.

Obrigado!

Publicado 09/04/2009 em 22:00
fonte usuário
Em outras línguas...                            


1 respostas

votos
6

Execute o seguinte em seu banco de dados MySQL, para criar uma função de encaminhamento.

delimiter //

create function strftime ( d date, format varchar(255) )   
   RETURNS varchar(64)
   LANGUAGE SQL
   DETERMINISTIC
   COMMENT 'synonym for date_format'
   return date_format(d, format) ;
//
delimiter ;
Respondeu 09/04/2009 em 22:14
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more