Função to_varchar
Aplica-se a: Databricks SQL Databricks Runtime 11.3 LTS e superior
Retorna expr
a transmissão para usar a STRING
formatação fmt
.
No Databricks Runtime 14.0 e anteriores to_varchar
suporta expr
tipos numéricos.
No Databricks SQL e Databricks Runtime 14.1 e superior to_varchar
também suporta expr
os tipos DATE
, TIMESTAMP
e BINARY
to_varchar
é sinónimo de to_char.
Sintaxe
to_varchar(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,STRING
datetime ouBINARY
.numericFormat
: UmSTRING
literal, especificando a saída formatada paraexpr
o tipo numérico.datetimeFormat
: UmSTRING
literal, especificando a saída formatada paraexpr
o tipo datetime.stringFormat
: UmSTRING
literal, especificando a saída formatada paraexpr
o tipoBINARY
.
Devoluções
A STRING
representando o resultado da operação de formatação.
datetmeFormat
pode conter os padrões especificados em Padrões de data/hora.
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 UTF-8 string.
numericFormat
pode conter os seguintes elementos (não diferencia maiúsculas de minúsculas):
0
ou9
Especifica 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 seqüência de resultados do mesmo comprimento que a sequência correspondente que a cadeia de caracteres de formato. A cadeia de resultados é preenchida à esquerda com zeros se a sequência 0/9 compreende mais dígitos do que a parte correspondente do valor decimal, começa com 0 e está antes do ponto decimal. Caso contrário, é acolchoado com espaços.
.
ouD
Especifica a posição da vírgula decimal (opcional, permitida apenas uma vez).
,
ouG
Especifica a posição do separador de agrupamento (milhares) (,). Deve haver um 0 ou 9 à esquerda e à direita de cada separador de agrupamento.
$
Especifica o local do sinal de moeda $. Este carácter só pode ser especificado uma vez.
S
ouMI
Especifica 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
S
imprime para valores positivos+
, masMI
imprime um espaço.PR
Permitido apenas no final da cadeia de caracteres de formato; Especifica que a cadeia de caracteres de resultado será encapsulada por colchetes angulares se o valor de entrada for negativo. («<1>»).
Se numExpr
requer mais dígitos do que fmt
o permitido, a função retorna o fmt
com 0
e 9
substituído por #
(por exemplo '$###.##'
).
Se fmt
estiver malformado, o Databricks SQL retornará um erro.
Esta função é um alias para to_varchar.
Exemplos
> SELECT to_varchar(454, '999');
454
> SELECT to_varchar(454, '000.00');
454.00
> SELECT to_varchar(12454, '99,999');
12,454
> SELECT to_varchar(78.12, '$99.99');
$78.12
> SELECT to_varchar(-12454.8, '99,999.9S');
12,454.8-
> SELECT to_varchar(12454.8, '99,999.9S');
12,454.8+
> SELECT '>' || to_varchar(123, '00000.00') || '<';
>00123.00<
> SELECT '>' || to_varchar(123, '99999.99') || '<';
> 123.00<
> SELECT to_varchar(1.1, '99');
##
> SELECT to_varchar(111.11, '99.9');
##.#
> SELECT to_varchar(111.11, '$99.9');
$##.#
> SELECT to_varchar(date'2016-04-08', 'y');
2016
> SELECT to_varchar(x'537061726b2053514c', 'base64');
U3BhcmsgU1FM
> SELECT to_varchar(x'537061726b2053514c', 'hex');
537061726B2053514C
> SELECT to_varchar(encode('abc', 'utf-8'), 'utf-8');
abc
> SELECT to_varchar(111, 'wrong');
Error: 'wrong' is a malformed format.