to_varchar
Función
Se aplica a: Databricks SQL Databricks Runtime 11.3 LTS y versiones posteriores
Devuelve expr
convertido a STRING
utilizando el formato fmt
.
En Databricks Runtime 14.0 y versiones anteriores to_varchar
admite expr
de tipos numéricos.
En Databricks SQL y Databricks Runtime 14.1 y versiones posteriores to_varchar
también se admiten expr
de tipos DATE
, TIMESTAMP
y BINARY
.
to_varchar
es un sinónimo de to_char.
Sintaxis
to_varchar(expr, { numericFormat | datetimeFormat | stringFormat } )
numericFormat
{ ' [ S ] [ L | $ ]
[ 0 | 9 | G | , ] [...]
[ . | D ]
[ 0 | 9 ] [...]
[ L | $ ] [ PR | MI | S ] ' }
Argumentos
expr
: expresión de tipo numérico, datetime,STRING
oBINARY
.numericFormat
: literal deSTRING
, especificando la salida con formato paraexpr
de tipo numérico.datetimeFormat
: literal deSTRING
, especificando la salida con formato paraexpr
de tipo datetime.stringFormat
: literal deSTRING
, especificando la salida con formato paraexpr
de tipoBINARY
.
Devoluciones
Una STRING
que representa el resultado de la operación de formato.
datetmeFormat
puede contener los patrones especificados en patrones Datetime.
stringFormat
puede ser uno de los siguientes (no distingue mayúsculas de minúsculas):
"base64"
Cadena base 64.
"hex"
Cadena en formato hexadecimal.
"utf-8"
El binario de entrada se descodifica en cadena UTF-8.
numericFormat
puede contener los siguientes elementos (sin distinción entre mayúsculas y minúsculas):
0
o9
Especifica un dígito esperado entre 0 y 9. Una secuencia de dígitos con valores comprendidos entre 0 y 9 en la cadena de formato coincide con una secuencia de dígitos en el valor de entrada. Esto genera una cadena de resultado de la misma longitud que la secuencia correspondiente que la cadena de formato. La cadena de resultado se rellena a la izquierda con ceros si la secuencia 0/9 consta de más dígitos que la parte coincidente del valor decimal, comienza por 0 y es anterior al separador decimal. De lo contrario, se rellena con espacios.
.
oD
Especifica la posición del separador decimal (opcional, solo se permite una vez).
,
oG
Especifica la posición del separador de agrupación (miles) (,) Tiene que haber un 0 o 9 a la izquierda y a la derecha de cada separador de agrupación.
$
Especifica la ubicación del signo de moneda $. Este carácter solo se puede especificar una vez.
S
oMI
Especifica la posición de un signo "-" o "+" (opcional, solo se permite una vez al principio o al final de la cadena de formato). Tenga en cuenta que
S
imprime+
para valores positivos, peroMI
imprime un espacio.PR
Solo se permite al final de la cadena de formato; especifica que la cadena de resultado se ajustará entre corchetes angulares si el valor de entrada es negativo. (‘<1>’).
Si numExpr
requiere más dígitos de los que permite fmt
, la función devuelve fmt
con 0
y 9
es reemplazado por #
(por ejemplo'$###.##'
).
Si fmt
tiene un formato incorrecto, Databricks SQL devolverá un error.
Esta función es un alias para to_varchar.
Ejemplos
> 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.