Olá pessoal,
Tenho uma tabela onde tenho um campo onde salvo uma data em formato unix timestamp, ex: 1286515961.
Preciso selecionar os registros desta tabela de modo a selecionar o mes que quero ver, ex: Outubro 2010.
Com php consigo fazer isso, porém como a tabela é enorme, creio que irei ganhar uma performance enorme ao buscar apenas na query mysql.
Infelizmente o campo timestamp, nativo do mysql, aceita apenas no formato de data,
ex: '08/10/2010 - 20:38'.
Alguem que já trabalhou com isso poderia me dar uma dica?
obrigado desde já
Resolvido
SELECT * FROM faturas
WHERE faturas_CreateTime >= UNIX_TIMESTAMP('2010-10-01')
AND faturas_CreateTime < UNIX_TIMESTAMP('2010-11-01')

Trabalhando Com Unix Timestamp Na Query
Started By luiz henrique t g, 08/10/2010, 20:59
2 replies to this topic
#2
Posted 08/10/2010, 22:30
Se você armazena a data como 1286515961, suponho que o campo seja varchar ou algum tipo inteiro. Sendo assim, acho que você pode tentar usar a função FROM_UNIXTIME() pra converter esse valor pra uma data e aí usar as funções pra fazer o filtro.
---
Você resolveu enquanto eu respondia. É uma boa solução também. Fica então essas duas opções.
...WHERE MONTH(FROM_UNIXTIME(Data))=10 AND YEAR(FROM_UNIXTIME(Data))=2010
---
Você resolveu enquanto eu respondia. É uma boa solução também. Fica então essas duas opções.
Edição feita por: LeoB, 08/10/2010, 22:31.
- luiz henrique t g likes this
#3
Posted 09/10/2010, 00:25
Se você armazena a data como 1286515961, suponho que o campo seja varchar ou algum tipo inteiro. Sendo assim, acho que você pode tentar usar a função FROM_UNIXTIME() pra converter esse valor pra uma data e aí usar as funções pra fazer o filtro.
...WHERE MONTH(FROM_UNIXTIME(Data))=10 AND YEAR(FROM_UNIXTIME(Data))=2010
---
Você resolveu enquanto eu respondia. É uma boa solução também. Fica então essas duas opções.
Olá, valeu pela resposta, achei mais facil daquela maneira, abraços.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)