Função to_char

Aplica-se a:Marque Sim Databricks SQL Marque Sim 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_char suporta expr tipos numéricos.

No Databricks SQL e Databricks Runtime 14.1 e superior to_char também suporta expr os tipos DATE, TIMESTAMPe BINARY

to_char é 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, STRINGdatetime ou BINARY.
  • numericFormat: Um STRING literal, especificando a saída formatada para expr o tipo numérico.
  • datetimeFormat: Um STRING literal, especificando a saída formatada para expr o tipo datetime.
  • stringFormat: Um STRING literal, especificando a saída formatada para expr o tipo BINARY.

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

    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.

  • . ou D

    Especifica a posição da vírgula decimal (opcional, permitida apenas uma vez).

  • , ou G

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

    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 + , mas MI 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 a parte integral ou decimal em numExpr requer mais dígitos do que a parte correspondente permitida em fmt, a função retorna ambas as partes no 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_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.