Catégories :

Fonctions de conversion

TO_CHAR , TO_VARCHAR

Convertit l’expression d’entrée en chaîne. Pour une entrée NULL, la sortie est NULL.

Ces fonctions sont synonymes.

Syntaxe

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>' ] )

Arguments

Obligatoire :

expr

Une expression de tout type de données.

expr_numérique

Une expression numérique

expr_date_ou_heure

Une expression de type DATE, TIME ou TIMESTAMP.

expr_binaire

Une expression de type BINARY ou VARBINARY.

Facultatif :

format

Le format de la chaîne de sortie :

Notes sur l’utilisation

  • Pour les entrées VARIANT, ARRAY ou OBJECT, la sortie est la chaîne contenant un document JSON ou une valeur élémentaire JSON (à moins que VARIANT ou OBJECT contienne une balise XML, auquel cas le résultat est une chaîne contenant un document XML) :

    • Une chaîne stockée dans VARIANT est conservée telle quelle (c’est-à-dire qu’elle n’est pas convertie en une chaîne JSON).

    • Une valeur JSON null est convertie en une chaîne contenant le mot « null ».

Exemples

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< |
+------------+----------+------------+-------------+------------+--------+---------+