- Categorias:
TO_CHAR , TO_VARCHAR¶
Converte a expressão de entrada em uma cadeia de caracteres. Para a entrada NULL, a saída será NULL.
Estas funções são sinônimas.
Sintaxe¶
TO_CHAR( <expr> )
TO_CHAR( <numeric_expr> [, '<format>' ] )
TO_CHAR( <date_or_time_expr> [, '<format>' ] )
TO_CHAR( <binary_expr> [, '<format>' ] )
TO_VARCHAR( <expr> )
TO_VARCHAR( <numeric_expr> [, '<format>' ] )
TO_VARCHAR( <date_or_time_expr> [, '<format>' ] )
TO_VARCHAR( <binary_expr> [, '<format>' ] )
Argumentos¶
Obrigatório:
expr
Uma expressão de qualquer tipo de dados.
numeric_expr
Uma expressão numérica.
date_or_time_expr
Uma expressão do tipo DATE, TIME ou TIMESTAMP.
binary_expr
Uma expressão do tipo BINARY ou VARBINARY.
Opcional:
format
O formato da cadeia de caracteres de saída:
Para
numeric_expr
, especifica o modelo de formato SQL usado para interpretar a expressão numérica. Para obter mais informações, consulte Modelos de formato SQL.Para
date_or_time_expr
, especifica o formato esperado para analisar ou produzir uma cadeia de caracteres. Para obter mais informações, consulte Formatos de data e hora em funções de conversão.O valor padrão é o valor atual dos seguintes parâmetros da sessão:
DATE_OUTPUT_FORMAT (para entradas DATE)
TIME_OUTPUT_FORMAT (para entradas TIME)
TIMESTAMP_OUTPUT_FORMAT (para entradas TIMESTAMP)
Para
binary_expr
, especifica o formato em que a cadeia de caracteres deve ser produzida (por exemplo “HEX”, “BASE64” ou “UTF-8”).Para obter mais informações, consulte Overview of Supported Binary Formats.
Notas de uso¶
Para entradas VARIANT, ARRAY ou OBJECT, a saída é a cadeia de caracteres contendo um documento JSON ou valor elementar JSON (a menos que VARIANT ou OBJECT contenha uma tag XML, nesse caso a saída será uma cadeia de caracteres contendo um documento XML):
Uma cadeia de caracteres armazenada em VARIANT é preservada como está (ou seja, não é convertida em uma cadeia de caracteres JSON).
Um valor nulo JSON é convertido em uma cadeia de caracteres contendo a palavra “nulo”.
Exemplos¶
select to_varchar('2013-04-05 01:02:03'::timestamp, 'mm/dd/yyyy, hh24:mi hours');
+---------------------------------------------------------------------------+
| TO_VARCHAR('2013-04-05 01:02:03'::TIMESTAMP, 'MM/DD/YYYY, HH24:MI HOURS') |
|---------------------------------------------------------------------------|
| 04/05/2013, 01:02 hours |
+---------------------------------------------------------------------------+
select to_varchar('03-May-2013'::date);
+---------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE) |
|---------------------------------|
| 2013-05-03 |
+---------------------------------+
select to_varchar('03-May-2013'::date, 'yyyy.mm.dd');
+-----------------------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE, 'YYYY.MM.DD') |
|-----------------------------------------------|
| 2013.05.03 |
+-----------------------------------------------+
select to_varchar(log(3,4));
+----------------------+
| TO_VARCHAR(LOG(3,4)) |
|----------------------|
| 1.261859507 |
+----------------------+
select column1 as orig_value,
to_char(column1, '">"$99.0"<"') as D2_1,
to_char(column1, '">"B9,999.0"<"') as D4_1,
to_char(column1, '">"TME"<"') as TME,
to_char(column1, '">"TM9"<"') as TM9,
to_char(column1, '">"0XXX"<"') as X4,
to_char(column1, '">"S0XXX"<"') as SX4
from values (-12.391), (0), (-1), (0.10), (0.01), (3987), (1.111);
+------------+----------+------------+-------------+------------+--------+---------+
| ORIG_VALUE | D2_1 | D4_1 | TME | TM9 | X4 | SX4 |
|------------+----------+------------+-------------+------------+--------+---------|
| -12.391 | >-$12.4< | > -12.4< | >-1.2391E1< | >-12.391< | >FFF4< | >-000C< |
| 0.000 | > $0.0< | > .0< | >0E0< | >0.000< | >0000< | >+0000< |
| -1.000 | > -$1.0< | > -1.0< | >-1E0< | >-1.000< | >FFFF< | >-0001< |
| 0.100 | > $0.1< | > .1< | >1E-1< | >0.100< | >0000< | >+0000< |
| 0.010 | > $0.0< | > .0< | >1E-2< | >0.010< | >0000< | >+0000< |
| 3987.000 | > $##.#< | > 3,987.0< | >3.987E3< | >3987.000< | >0F93< | >+0F93< |
| 1.111 | > $1.1< | > 1.1< | >1.111E0< | >1.111< | >0001< | >+0001< |
+------------+----------+------------+-------------+------------+--------+---------+