Ir para conteúdo

POWERED BY:

Arquivado

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

Paulo Herique

Fazer consulta a uma hora em um campo no tipo data (hh:mm:ss)

Recommended Posts

Olá pessoal, eu gostaria de saber como fazer uma consulta a todos os registros que ocorreram em uma determinada hora.

 

Exemplo:

 

Um log possui várias entradas que ocorreram entre 3 e 11 horas. Eu quero pegar somente as que ocorreram as 5, sendo que o formato da hora é hh:mm:ss, como fazer?

 

Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, respondeu rápido xD

 

Essa função deve ser do mysql xD

 

Na verdade não estou usando o mysql.

 

SELECT DISTINCT c-ip, COUNT (*) As vezes FROM c:\Windows\system32\logfiles\MSFTPSVC1\ex.log WHERE sc-status = '530' AND HOUR(time) = '04' GROUP BY c-ip

 

Essa é a consulta que estou fazendo a um arquivo de .log

 

Será que rola?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não está usando mysql...? :mellow:

está usando qual banco de dados?

se bem que não sei se outro banco faz consulta deste jeito direto em um arquivo...

usa que linguagem de programação?

talvez tenha que carregar este arquivo por programação mesmo...

qual seria a estrutura do arquivo (caracter utilizado na separação dos campos, etc)?

:huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo a consulta a um arquivo de log do IIS, e para isso se usa um programa chamado log parser.

 

Como eu tb uso base de dados MySQL eu vi logo aqui... depois que fui me ligar que o log parser pode não dar suporte a essa função.

 

Eu estou programando em VBscript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummm... interessante este programa... bom saber. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

dei uma rápida pesquisada e encontrei algo parecido com o seu caso (só que neste ele quer formatar):

http://forums.iis.net/t/1150412.aspx

 

no meio de algumas respostas, parece que alguém deu a dica de utilizar o substr.

Se realmente tiver este comando, você pode tentar algo como

where substr(campo,0,2) = '05'

. considerando que o primeiro parâmetro é o nome do campo, o segundo é a posição inicial a ser lida, e o terceiro é a quantidade de caracteres a serem lidos.

 

good luck

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu consegui por outro método. eu tive que converter para string pois o método like só fuinciona com strings e não horas.

 

No final ficou assim SELECT DISTINCT c-ip, COUNT (*) As vezes FROM c:\Windows\system32\logfiles\MSFTPSVC1\exData.log WHERE sc-status = '530' AND TO_STRING(time, 'HH') = '" & hora & "' GROUP BY c-ip

 

Muito obrigado pela ajuda e tenha uma boa semana e um ótimo final de semana!

 

Abçs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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