Fiquei um tempo sem colocar nada no blog, mas voltei. Recebi até um comunicado oficial do Rafael que se não colocasse nada no blog, era para pegar minhas coisas e passar no RH (ou era para passar no RH e depois pegar as minhas coisas?).
Introdução
Imagine que seu professor de linguagem C++ (ou outra de sua preferência, mas uma linguagem descente, por favor) lhe passe uma lição de casa: “Faça um MMORPG em 5 idiomas diferentes”.
Simples não? Qualquer um faz um MMORPG em C++ da noite para o dia. O detalhe desta simples aplicação é permitir a utilização ou diversão (já que é um game) em outros idiomas.
Se você pensou em um colocar vários “IFs” ou “CASEs” para cada linha que contenha uma string...
Continue Reading »
Estava Rafael Monteiro, que não é o Rafael SDM aqui da Stiod, mas um amigo que trabalha comigo, utilizando a versão 5 do MySQL em um projeto, onde era necessário retornar a diferença entre datas de uma tabela. Até ai tudo bem, ele estava utilizando o datediff, cuja definição da documentação[1] fala:
- "DATEDIFF() retorna o número de dias entre a data inicial expr e a data final expr2. expr e expr2 são expressões de datas ou data e hora. Apenas a parte da data dos valores são usados no cálculo."
Dando como exemplo:
mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
Porém quando chegou na hora de colocar o site em produção no ambiente disponibilizado pelo cliente, tinhamos apenas a versão 4.0 do MySQL, que não suporta o comando DATEDIFF.
Uma alternativa que encontramos para isto foi converter as datas para unix_timestamp e dividir a diferença pelo número segundos de um dia (86400)
select floor((unix_timestamp(data_final) - unix_timestamp(data_inicial)) / 86400) as diferenca from tabela;
É isso ae.. Rafael Monteiro e seus códigos elegantes... xD
[1] http://dev.mysql.com/doc/refman/4.1/pt/date-and-time-functions.html