Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Função
Aplica-se a:
SQL do Databricks
Databricks Runtime 11.3 LTS e versões posteriores
Retorna expr convertido para STRING usando a formatação fmt.
No Databricks Runtime 14.0 e posterior, to_char dá suporte a tipos numéricos expr.
No Databricks SQL e no Databricks Runtime 14.1 e acima to_char também dá suporte a expr de tipos DATE, TIMESTAMP e BINARY
to_char é um sinônimo de to_varchar.
Sintaxe
to_char(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumentos
-
expr: uma expressão do tipo numérico, datetime,STRINGouBINARY. -
numericFormat: umSTRINGliteral, especificando a saída formatada para o tipo numéricoexpr. -
datetimeFormat: umSTRINGliteral, especificando a saída formatada para oexprdo tipo datetime. -
stringFormat: umSTRINGliteral, especificando a saída formatada paraexprdo tipoBINARY.
Retorna
Um STRING que representa o resultado da operação de formatação.
datetmeFormat pode conter os padrões especificados em padrões de datetime.
stringFormat pode ser um dos seguintes (não diferencia maiúsculas de minúsculas):
'base64'
Uma cadeia de caracteres base 64.
'hex'
Uma cadeia de caracteres no formato hexadecimal.
'utf-8'
O binário de entrada é decodificado para a cadeia de caracteres UTF-8.
numericFormat pode conter os seguintes elementos (diferencia maiúsculas de minúsculas):
0ou9Especifica um dígito esperado entre 0 e 9. Uma sequência de dígitos com valores entre 0 e 9 na cadeia de caracteres de formato corresponde a uma sequência de dígitos no valor de entrada. Isso gera uma cadeia de caracteres do mesmo comprimento que a sequência correspondente do formato de cadeia de caracteres. A cadeia de caracteres resultante será preenchida com zeros à esquerda se a sequência 0/9 for composta por mais dígitos do que a parte correspondente do valor decimal, começar com 0 e estiver antes do ponto decimal. Caso contrário, será preenchida com espaços.
.ouDEspecifica a posição do ponto decimal (opcional, permitido apenas uma vez).
,ouGEspecifica a posição do separador de agrupamento (milhares) (.). Precisa haver um 0 ou 9 à esquerda e à direita de cada separador de agrupamento.
$Especifica o local do sinal da moeda. Esse caractere só pode ser especificado uma vez.
SouMIEspecifica a posição de um sinal '-' ou '+' (opcional, permitido apenas uma vez no início ou no final da cadeia de caracteres de formato). Observe que
Simprime+para valores positivos, masMIimprime um espaço.PRPermitido somente no final do formato da cadeia de caracteres; e especifica que a cadeia de caracteres resultante será encapsulada por colchetes angulares (< >) se o valor de entrada for negativo. ('<1>').
Se a parte integral ou decimal em numExpr exigir mais dígitos do que a parte correspondente permitida em fmt, a função retornará ambas as partes no fmt com 0 e 9 substituído por # (por exemplo '$###.##').
Se fmt for malformado, o SQL do Databricks retornará um erro.
Essa função é um alias para to_varchar.
Exemplos
> SELECT to_char(454, '999');
454
> SELECT to_char(454, '000.00');
454.00
> SELECT to_char(12454, '99,999');
12,454
> SELECT to_char(78.12, '$99.99');
$78.12
> SELECT to_char(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_char(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_char(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_char(123, '99999.99') || '<';
> 123.00<
> SELECT to_char(1.1, '99');
##
> SELECT to_char(111.11, '99.9');
##.#
> SELECT to_char(111.11, '$99.9');
$##.#
> SELECT to_char(date'2016-04-08', 'y');
2016
> SELECT to_char(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_char(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_char(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_char(111, 'wrong');
Error: 'wrong' is a malformed format.