TO_CHAR - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

TO_CHAR

TO_CHAR convertit un horodatage ou une expression numérique en un format de données de chaînes de caractères.

Syntaxe

TO_CHAR (timestamp_expression | numeric_expression , 'format')

Arguments

timestamp_expression

Expression qui se traduit par une valeur de type TIMESTAMP ou TIMESTAMPTZ ou par une valeur qui peut être implicitement convertie en un horodatage.

numeric_expression

Expression qui se traduit par une valeur de type de données numérique ou par une valeur qui peut être implicitement convertie en un type numérique. Pour plus d'informations, consultez Types numériques. TO_CHAR insère un espace à gauche de la chaîne numérique.

Note

TO_CHAR ne prend pas en charge les valeurs DECIMAL de 128 bits.

format

Format de la nouvelle valeur. Pour connaître les formats valides, consultez Chaînes de format datetime et Chaînes de format numériques.

Type de retour

VARCHAR

Exemples

L’exemple suivant convertit un horodatage en une valeur contenant la date et l’heure dans un format comprenant le nom du mois rempli jusqu’à neuf caractères, le nom du jour de la semaine et le numéro du jour du mois.

select to_char(timestamp '2009-12-31 23:15:59', 'MONTH-DY-DD-YYYY HH12:MIPM'); to_char ------------------------- DECEMBER -THU-31-2009 11:15PM

L’exemple suivant convertit un horodatage en une valeur avec le numéro du jour de l’année.

select to_char(timestamp '2009-12-31 23:15:59', 'DDD'); to_char ------------------------- 365

L’exemple suivant convertit un horodatage en un numéro de jour de la semaine ISO.

select to_char(timestamp '2022-05-16 23:15:59', 'ID'); to_char ------------------------- 1

L’exemple suivant extrait le nom du mois d’une date.

select to_char(date '2009-12-31', 'MONTH'); to_char ------------------------- DECEMBER

L’exemple suivant convertit chaque valeur STARTTIME de la table EVENT en une chaîne composée d’heures, de minutes et de secondes.

select to_char(starttime, 'HH12:MI:SS') from event where eventid between 1 and 5 order by eventid; to_char ---------- 02:30:00 08:00:00 02:30:00 02:30:00 07:00:00

L’exemple suivant convertit une valeur d’horodatage complète en un format différent.

select starttime, to_char(starttime, 'MON-DD-YYYY HH12:MIPM') from event where eventid=1; starttime | to_char ---------------------+--------------------- 2008-01-25 14:30:00 | JAN-25-2008 02:30PM

L’exemple suivant convertit un littéral d’horodatage en une chaîne de caractères.

select to_char(timestamp '2009-12-31 23:15:59','HH24:MI:SS'); to_char ---------- 23:15:59

L'exemple suivant convertit un nombre décimal en chaîne de caractères.

select to_char(125.8, '999.99'); to_char --------- 125.80

L'exemple suivant convertit un nombre décimal en chaîne de caractères.

select to_char(125.8, '999D99'); to_char --------- 125.80

L'exemple suivant convertit un nombre en chaîne de caractères commençant par un zéro.

select to_char(125.8, '0999D99'); to_char --------- 0125.80

L’exemple suivant convertit un nombre en chaîne de caractères avec le signe moins à la fin.

select to_char(-125.8, '999D99S'); to_char --------- 125.80-

L'exemple suivant convertit un nombre en chaîne de caractères avec le signe positif ou négatif à la position spécifiée.

select to_char(125.8, '999D99SG'); to_char --------- 125.80+

L'exemple suivant convertit un nombre en chaîne de caractères avec le signe positif à la position spécifiée.

select to_char(125.8, 'PL999D99'); to_char --------- + 125.80

L’exemple suivant convertit un nombre en chaîne de caractères avec le symbole de la devise.

select to_char(-125.88, '$S999D99'); to_char --------- $-125.88

L'exemple suivant convertit un nombre en chaîne de caractères avec le symbole monétaire à la position spécifiée.

select to_char(-125.88, 'S999D99L'); to_char --------- -125.88$

L'exemple suivant convertit un nombre en chaîne de caractères à l'aide d'un séparateur de milliers (virgule).

select to_char(1125.8, '9,999.99'); to_char --------- 1,125.80

L’exemple suivant convertit un nombre en une chaîne de caractères.

select to_char(-125.88, '$999D99PR'); to_char --------- $<125.88>

L’exemple suivant convertit un nombre en chaîne numérale romaine.

select to_char(125, 'RN'); to_char --------- CXXV

L'exemple suivant convertit une date en code du siècle.

select to_char(date '2020-12-31', 'CC'); to_char --------- 21

L’exemple suivant affiche le jour de la semaine.

SELECT to_char(current_timestamp, 'FMDay, FMDD HH12:MI:SS'); to_char ----------------------- Wednesday, 31 09:34:26

L’exemple suivant affiche le suffixe ordinal d’un nombre.

SELECT to_char(482, '999th'); to_char ----------------------- 482nd

L’exemple suivant soustraie la commission du prix d’achat de la table des ventes. La différence est ensuite arrondie et convertie en un chiffre romain, indiqué dans la colonne to_char :

select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'rn') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10; salesid | pricepaid | commission | difference | to_char ---------+-----------+------------+------------+----------------- 1 | 728.00 | 109.20 | 618.80 | dcxix 2 | 76.00 | 11.40 | 64.60 | lxv 3 | 350.00 | 52.50 | 297.50 | ccxcviii 4 | 175.00 | 26.25 | 148.75 | cxlix 5 | 154.00 | 23.10 | 130.90 | cxxxi 6 | 394.00 | 59.10 | 334.90 | cccxxxv 7 | 788.00 | 118.20 | 669.80 | dclxx 8 | 197.00 | 29.55 | 167.45 | clxvii 9 | 591.00 | 88.65 | 502.35 | dii 10 | 65.00 | 9.75 | 55.25 | lv

L’exemple suivant ajoute le symbole de la devise aux valeurs de différence affichées dans la colonne to_char :

select salesid, pricepaid, commission, (pricepaid - commission) as difference, to_char(pricepaid - commission, 'l99999D99') from sales group by sales.pricepaid, sales.commission, salesid order by salesid limit 10; salesid | pricepaid | commission | difference | to_char --------+-----------+------------+------------+------------ 1 | 728.00 | 109.20 | 618.80 | $ 618.80 2 | 76.00 | 11.40 | 64.60 | $ 64.60 3 | 350.00 | 52.50 | 297.50 | $ 297.50 4 | 175.00 | 26.25 | 148.75 | $ 148.75 5 | 154.00 | 23.10 | 130.90 | $ 130.90 6 | 394.00 | 59.10 | 334.90 | $ 334.90 7 | 788.00 | 118.20 | 669.80 | $ 669.80 8 | 197.00 | 29.55 | 167.45 | $ 167.45 9 | 591.00 | 88.65 | 502.35 | $ 502.35 10 | 65.00 | 9.75 | 55.25 | $ 55.25

L’exemple suivant répertorie le siècle au cours duquel chaque vente a été effectuée.

select salesid, saletime, to_char(saletime, 'cc') from sales order by salesid limit 10; salesid | saletime | to_char ---------+---------------------+--------- 1 | 2008-02-18 02:36:48 | 21 2 | 2008-06-06 05:00:16 | 21 3 | 2008-06-06 08:26:17 | 21 4 | 2008-06-09 08:38:52 | 21 5 | 2008-08-31 09:17:02 | 21 6 | 2008-07-16 11:59:24 | 21 7 | 2008-06-26 12:56:06 | 21 8 | 2008-07-10 02:12:36 | 21 9 | 2008-07-22 02:23:17 | 21 10 | 2008-08-06 02:51:55 | 21

L’exemple suivant convertit chaque valeur STARTTIME de la table EVENT en une chaîne qui se compose d’heures, de minutes, de secondes et d’un fuseau horaire.

select to_char(starttime, 'HH12:MI:SS TZ') from event where eventid between 1 and 5 order by eventid; to_char ---------- 02:30:00 UTC 08:00:00 UTC 02:30:00 UTC 02:30:00 UTC 07:00:00 UTC

L’exemple suivant illustre la mise en forme des secondes, millisecondes et microsecondes.

select sysdate, to_char(sysdate, 'HH24:MI:SS') as seconds, to_char(sysdate, 'HH24:MI:SS.MS') as milliseconds, to_char(sysdate, 'HH24:MI:SS:US') as microseconds; timestamp | seconds | milliseconds | microseconds --------------------+----------+--------------+---------------- 2015-04-10 18:45:09 | 18:45:09 | 18:45:09.325 | 18:45:09:325143