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.
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...
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.
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