Compartir a través de


to_varcharFunción

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí 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 o BINARY.
  • numericFormat: literal de STRING, especificando la salida con formato para expr de tipo numérico.
  • datetimeFormat: literal de STRING, especificando la salida con formato para expr de tipo datetime.
  • stringFormat: literal de STRING, especificando la salida con formato para expr de tipo BINARY.

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 o 9

    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.

  • . o D

    Especifica la posición del separador decimal (opcional, solo se permite una vez).

  • , o G

    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 o MI

    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, pero MI 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.