Como fazer em uma consulta, uma quebra por hora em um campo com hora, minuto e segundo ?
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.
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.