Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Breno Padovan

Query tabela com campo timestamp

Recommended Posts

Bom dia a todos,

tenho uma tabela na seguinte estrutura:

Field       Type

itemid    bigint(20) unsigned
clock    int(11)
value    double(16,4)
ns          int(11)

 

Preciso fazer uma consulta filtrando por data, e estou usando a seguinte query:

SELECT itemid,
from_unixtime(clock,'%d/%m/%Y') AS date_data,
from_unixtime(clock,'%H:%i:%s') AS Time_data,
Value
FROM history
WHERE clock >= FROM_UNIXTIME('01/02/2016') AND clock < FROM_UNIXTIME('01/01/2017')
and itemid = 24661
 

Porém não me retorna nenhum valor. Já alterei o padrão de data e nada.

Onde estaria errando?

 

Grato,

Breno Padovan

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por asacap1000
      Fala galera, estou com um problema na consulta no banco.
      Tenho uma tabela que dois campos foram criados como timestamp,
      No select eu não consigo trazer os resultados, somente tratando o campo como to_char.
      É obrigatório eu configurar desta forma? 
      Segue o select:
       
      SELECT DISTINCT T.ID, T.FINISH_EVENT,--ASSIM NÃO RETORNA E DÁ ERRO TO_CHAR(T.FINISH_EVENT, 'DD/MM/YYYY HH24:MI'),--ASSIM RETORNA T.GATE_ID, T.GATE_TYPE, I.TYPE, I.VALUE_CONFIRMED, T.SENT, TO_CHAR(T.START_EVENT, 'DD/MM/YYYY HH24:MI'), T.STATUS, T.USERNAME, T.UUID, T.WAY, TO_CHAR(T.START_EVENT, 'YYYYMMDD HH24:MI') FROM EASYGATE.INTGR_EVENT T, EASYGATE.INTGR_ASSET I WHERE T.STATUS = 'CRIADO_EASYGATE' AND T.ID = I.INTEGRATION_EVENT_ID AND I.VALUE_CONFIRMED IS NOT NULL GROUP BY T.ID, T.FINISH_EVENT, T.GATE_ID, T.GATE_TYPE, T.SENT, TO_CHAR(T.START_EVENT, 'DD/MM/YYYY HH24:MI'), TO_CHAR(T.START_EVENT, 'YYYYMMDD HH24:MI'), T.STATUS, T.USERNAME, T.UUID, T.WAY, I.TYPE, I.VALUE_CONFIRMED ORDER BY T.ID DESC
      No PLSql esse é o erro que aparece.
       
       
      Aguardo ajuda :) 
    • Por Kaio Augusto de Castro
      Galera seguinte, eu ja esgotei meu cérebro e não consegui sair do lugar no meu banco tem um campo que chama-se data_criacao e ele é do tipo timestamp mas eu não sei como fazer com que ele grave a data e a hora no banco, o valor eu joguei dentro de um array ficando assim:
      $_SESSION['cad'] = array( 'nome' => $_POST['nome'], 'user' => $_POST['user'], 'pass' => $_POST['pass'], 'email' => $_POST['email'], 'fone' => $_POST['fone'], 'endereco' => $_POST['endereco'], 'cod_bairro' => $_POST['bairro'], 'cidade' => $_POST['cidade'], 'cod_estado' => $_POST['estado'], 'cep' => $_POST['cep'], 'cpf' => $_POST['cpf'], 'cod_status' => $_POST['status'], 'cod_nivel' => $_POST['nivel'], 'data_criacao' => NOW(), 'data_mod' => null, ); Não me recordo bem onde foi que eu li que o comando NOW() insere a data e a hora de acordo com o servidor, mas esta dando esse erro a baixo:
      Fatal error: Uncaught Error: Call to undefined function NOW() in /opt/lampp/htdocs/adm/cad_user.php:29 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/adm/cad_user.php on line 29
       
      Tentei usar o NOW() com e sem as aspas... e nenhum deles foi, se coloco ele com aspas ele deixa cadastrar mas não grava a data e nem a hora, a coluna no banco fica zerada...
       
      Se puderem me ajudar... ficarei muito agradecido... 
       
    • Por Hisoka.
      Bom dia!
      Eu qria uma ajuda pra criar um cálculo que gere uma porcentagem de 0% até 100% a partir dos segundos. Por ex: Eu tenho uma data limite e a data atual, qnt mais próximo a data atual estiver data final irá aumentando a porcentagem. Abaixo, ambas eu converto em segundos e aplico uma regra de 3, porém em segundos tá dando mais de 1000%. Em minutos funcionava, porem, o contador de porcentagem zerava ao final de cada hora.
      O que eu consegui fzr até agr foi isso, baseado no calculo com minutos.
      Calculo com segundos:
      $dataFinal = strtotime('2016-09-27 11:58:00'); $sla = 1; echo 'timestamp:'.$time = time().'<br>'; echo 'Seg. final:'.$dataFinal.'<br>'; $sla = $sla * 60 * 60;//converto a qntdd de horas para segundos $porcentagem = ($time * 100)/$sla; echo $porcentagem; Calculo com minutos:
      $sla = 1; $minutoAtual = date('i'); $sla = $sla * 60;//converto em minutos. $porcentagem = ($minutoAtual * 100)/$sla; echo $porcentagem; O calculo com minutos funciona com 1h. Se eu colocar $sla = 2, qnd chegar na metade do tempo, ele zera.
    • Por KCK
      Tenho que fazer uma consulta no banco mysql mas estou com um problema na minha query.
      No meu banco tenho 3 campos string, sendo um day, month e year. Estes não são datas, e sim varchar. Ok. Não poderei mudar isso pois peguei este banco assim mesmo. Quero pegar as datas iguais ou maiores do que hoje. Ele me retorna até virar maio, mas dai pega acima do dia 26-05 e não antes. Existe alguma forma ou função de melhorar isso? Qualquer ajuda será bem-vinda. Atenciosamente
      SELECT *,(str_to_date(CONCAT(agenda.year,'-',agenda.month,'-',agenda.day), '%Y-%m-%d')) as dta
      FROM agenda
      WHERE agenda.day >= 26
      AND agenda.month >= 04
      AND agenda.year >= 2016
      ORDER BY (str_to_date(CONCAT(agenda.year,'-',agenda.month,'-',agenda.day), '%Y-%m-%d'))
      LIMIT 6
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.