Autor Tópico: Quebra utilizando hora  (Lida 2360 vezes)

Bárbara

  • Visitante
Quebra utilizando hora
« Online: Janeiro 03, 2007, 05:55:47 pm »
Como fazer  em uma consulta, uma quebra por hora em um campo com hora, minuto e segundo ?

adriany

  • Visitante
Re: Quebra utilizando hora
« Responder #1 Online: Janeiro 03, 2007, 05:57:31 pm »
Olá Bárbara,

Através da função substring disponibilizada no comando SQL é possível recuperar parte de uma string.
Exemplo:

SELECT
ClienteId,
NomeCliente,
NomeContato,
CargoContato,
Tpcli,
CIC_CNPJ,
substring(hora_total,1,2) as Hora,
email
FROM
adm_clientes

Ou seja, será criado um campo Hora contendo apenas o valor da hora, excluindo assim o minuto e o segundo.
Na opção quebra, selecionar o campo Hora para realizar a quebra.

Haroldo

  • Expert
  • *****
  • Mensagens: 6274
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re: Quebra utilizando hora
« Responder #2 Online: Janeiro 17, 2007, 06:47:38 am »
Pode ser também com as funções específicas para tempo:
HOUR(hora)

Retorna a hora para hora. A faixa do valor retornado será de 0 a 23 para o valor hora do dia.


mysql> SELECT HOUR('10:05:03');
        -> 10


No entanto, a faixa dos valores TIME atualmente são muito grandes, assim HOUR pode retornar valores maior que 23:

mysql> SELECT HOUR('272:59:59');
        -> 272


MINUTE(hora)

Retorna o minuto para hora, na faixa de 0 a 59:


mysql> SELECT MINUTE('98-02-03 10:05:03');
        -> 5


SECOND(hora)

Retorna o segundo para hora, na faixa de 0 a 59:


mysql> SELECT SECOND('10:05:03');
        -> 3



MICROSECOND(expr)

Retorna os microsegundos da expressão time ou datetime em expr como um número na faixa de 0 a 999999.




mysql> SELECT MICROSECOND('12:00:00.123456');
        -> 123456
mysql> SELECT MICROSECOND('1997-12-31 23:59:59.000010');
        -> 10


MICROSECOND() está disponível a partir do MySQL 4.1.1.