TO_CHAR - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

TO_CHAR

TO_CHAR Converte uma expressão de timestamp ou numérica para o formato de dados de string de caracteres.

Sintaxe

TO_CHAR (timestamp_expression | numeric_expression , 'format')

Argumentos

timestamp_expression

Uma expressão que resulta em um valor do tipo TIMESTAMP ou TIMESTAMPTZ ou um valor que pode ser implicitamente forçado para um timestamp.

numeric_expression

Uma expressão que resulta em um valor de tipo de dados numérico ou em um valor que pode implicitamente ser convertido para tipo numérico. Para obter mais informações, consulte Tipos numéricos. TO_CHAR insere um espaço à esquerda da string numérica.

nota

TO_CHAR não suporta valores DECIMAIS de 128 bits.

format

O formato para o novo valor. Para obter os formatos válidos, consulte Strings de formato datetime e Strings de formato numérico.

Tipo de retorno

VARCHAR

Exemplos

O exemplo a seguir converte um carimbo de data/hora em um valor com a data e a hora em um formato com o nome do mês preenchido com nove caracteres, o nome do dia da semana e o número do dia do mês.

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

O exemplo a seguir converte um carimbo de data/hora em um valor com o número do dia do ano.

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

O exemplo a seguir converte um carimbo de data/hora em um número do dia da semana da norma ISO.

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

O exemplo a seguir extrai o nome do mês de uma data.

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

O seguinte exemplo converte cada valor de STARTTIME na tabela EVENT em uma string que consiste em horas, minutos e segundos.

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 (5 rows)

O exemplo a seguir converte um valor de timestamp inteiro em um formato diferente.

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 (1 row)

O exemplo a seguir converte um literal de timestamp em uma string de caracteres.

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

O exemplo a seguir converte um número em uma string de caracteres com o sinal menos no final.

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

O exemplo a seguir converte um número em uma string de caracteres com o símbolo de moeda.

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

O exemplo a seguir converte um número em uma string de caracteres usando colchetes angulares para números negativos.

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

O exemplo a seguir converte um número em uma string de numerais romanos.

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

O exemplo a seguir exibe o dia da semana.

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

O exemplo a seguir exibe o sufixo de número ordinal de um número.

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

O exemplo a seguir subtrai a comissão do preço pago na tabela de vendas. A diferença é então arredondada e convertida em um número romano, mostrado na to_char coluna:

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 (10 rows)

O exemplo a seguir adiciona o símbolo da moeda aos valores de diferença mostrados na to_char coluna:

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 (10 rows)

O seguinte exemplo lista o século em que cada venda foi efetuada.

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 (10 rows)

O seguinte exemplo converte cada valor de STARTTIME na tabela EVENT em uma string que consiste em horas, minutos, segundos e fuso horário:

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 (5 rows) (10 rows)

O seguinte exemplo exibe a formatação para segundos, milissegundos e microssegundos.

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