A função FORMAT_TIME formata um valor de tempo BIGINT, expresso em microssegundos, em uma STRING com base em uma string de formato especificada.
Sintaxe
STRING FORMAT_TIME(BIGINT <time>, STRING <format>)
Exemplo rápido
-- Returns 13:24:33.000.
SELECT FORMAT_TIME(48273000000, '%H:%M:%S.ff3');
Parâmetros
time
Tipo: BIGINT. Obrigatório.
Valor de tempo em microssegundos. Use a função TO_TIME para construir esse valor a partir de uma string de tempo.
Na versão do tipo de dados MaxCompute V1.0 , se este parâmetro for STRING ou DOUBLE, ocorrerá conversão implícita para BIGINT antes da execução da função.
format
Tipo: STRING. Obrigatório.
String de formato que controla a saída. Especificadores compatíveis:
|
Especificador |
Alias |
Descrição |
Exemplo de saída |
|
|
|
Hora |
|
|
|
|
Minuto |
|
|
|
|
Segundo |
|
|
|
— |
Milissegundos (segundos fracionários com 3 dígitos) |
|
|
|
— |
Segundos fracionários com |
|
|
|
— |
Segundos fracionários com precisão total de 6 dígitos |
|
Alias: Para cada componente de tempo, a coluna Especificador apresenta a forma canônica. Os alias na coluna Alias produzem saída idêntica.
Precisão sub-segundo: Os três especificadores de segundos fracionários controlam a precisão abaixo do limite de segundo. A diferença entre eles reside apenas na definição da quantidade de dígitos:
ff3sempre gera exatamente 3 dígitos (milissegundos).%E<n>Sgera<n>dígitos, em que<n>é um número inteiro literal na string de formato (por exemplo,%E6Spara microssegundos).%E*Sgera a precisão completa de 6 dígitos.
Textos sem especificadores na string de formato são mantidos exatamente como fornecidos, o que permite incorporar especificadores dentro de uma frase.
Valor de retorno
Retorna uma STRING. Se time ou format for NULL, a função retornará NULL.
Exemplos
Formatar um valor de tempo em um padrão predefinido
-- Returns 13:24:33.000.
SELECT FORMAT_TIME(48273000000, '%H:%M:%S.ff3');
Incorporar componentes de tempo em uma string de texto
Caracteres sem especificadores na string de formato são tratados como texto literal.
-- Returns The time is 24:33 and the millisecond part is 000.
SELECT FORMAT_TIME(48273000000, 'The time is %M:%S and the millisecond part is ff3');
-- Returns only show 13:24.
SELECT FORMAT_TIME(48273000000, 'only show hh:mi');
Combinar FORMAT_TIME com TO_TIME
Use TO_TIME para analisar primeiro uma string de tempo e, em seguida, formatar o resultado.
-- Returns 15:03:01.
SELECT FORMAT_TIME(TO_TIME('15:03:01', 'hh:mi:ss'), '%H:%M:ss');
Tratar entradas NULL
-- Returns NULL.
SELECT FORMAT_TIME(NULL, '%H:%M:%S.ff3');
-- Returns NULL.
SELECT FORMAT_TIME(48273000000, NULL);
Funções relacionadas
FORMAT_TIME é uma função de tempo. Para obter mais informações sobre funções de data e hora no MaxCompute, consulte Funções de data.