Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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_char admite expr de tipos numéricos.
En Databricks SQL y Databricks Runtime 14.1 y versiones posteriores to_char también admite expr de tipos DATE, TIMESTAMPy BINARY
to_char es un sinónimo de to_varchar.
Sintaxis
to_char(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,STRINGoBINARY. -
numericFormat: literal deSTRING, especificando la salida con formato paraexprde tipo numérico. -
datetimeFormat: literal deSTRING, especificando la salida con formato paraexprde tipo datetime. -
stringFormat: literal deSTRING, especificando la salida con formato paraexprde 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.
'hexadecimal'
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):
0o9Especifica 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.
.oDEspecifica la posición del separador decimal (opcional, solo se permite una vez).
,oGEspecifica 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.
SoMIEspecifica 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
Simprime+para valores positivos, peroMIimprime un espacio.PRSolo 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 la parte integral o decimal de numExpr necesita más dígitos que la parte correspondiente permitida en fmt, la función devuelve las partes de fmt con 0 y 9 reemplazadas 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_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.