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

Arguments

Obligatoire :

expr

Une expression de tout type de données.

numeric_expr

Une expression numérique

date_or_time_expr

Une expression de type DATE, TIME ou TIMESTAMP.

binary_expr

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                                                   |
+---------------------------------------------------------------------------+
Copy
select to_varchar('03-May-2013'::date);

+---------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE) |
|---------------------------------|
| 2013-05-03                      |
+---------------------------------+
Copy
select to_varchar('03-May-2013'::date, 'yyyy.mm.dd');

+-----------------------------------------------+
| TO_VARCHAR('03-MAY-2013'::DATE, 'YYYY.MM.DD') |
|-----------------------------------------------|
| 2013.05.03                                    |
+-----------------------------------------------+
Copy
select to_varchar(log(3,4));

+----------------------+
| TO_VARCHAR(LOG(3,4)) |
|----------------------|
| 1.261859507          |
+----------------------+
Copy
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< |
+------------+----------+------------+-------------+------------+--------+---------+
Copy