Tipos de datetime
Tópicos
Os tipos de dados de data e hora incluem DATE, TIME, TIMETZ, TIMESTAMP e TIMESTAMPTZ.
Armazenamento e intervalos
Name | Armazenamento | Intervalo | Resolução |
---|---|---|---|
DATA | 4 bytes | 4713 AC a 294276 DC | 1 dia |
TIME | 8 bytes | 00:00:00 para 24:00:00 | 1 microssegundo |
TIMETZ | 8 bytes | 00:00:00+1459 para 00:00:00+1459 | 1 microssegundo |
TIMESTAMP | 8 bytes | 4713 AC a 294276 DC | 1 microssegundo |
TIMESTAMPTZ | 8 bytes | 4713 AC a 294276 DC | 1 microssegundo |
DATA
Use o tipo de dados DATE para armazenar datas de calendário simples sem timestamps.
TIME
TIME é um alias de TIME WITHOUT TIME ZONE.
Use o tipo de dados TIME para armazenar a hora do dia.
As colunas TIME armazenam valores com até um máximo de seis dígitos de precisão para segundos fracionários.
Por padrão, os valores de TIME são Tempo Universal Coordenado (UTC) nas tabelas do usuário e nas tabelas do sistema Amazon Redshift.
TIMETZ
TIMETZ é um alias de TIME WITH TIME ZONE.
Use o tipo de dados TIMETZ para armazenar a hora do dia com um fuso horário.
As colunas TIMETZ armazenam valores com até um máximo de seis dígitos de precisão para segundos fracionários.
Por padrão, os valores de TIMETZ são UTC nas tabelas de usuário e nas tabelas de sistema do Amazon Redshift.
TIMESTAMP
TIMESTAMP é um alias de TIMESTAMP SEM FUSO HORÁRIO.
Use o tipo de dados TIMESTAMP para armazenar valores completos de registro de data e hora que incluem a data e a hora do dia.
As colunas TIMESTAMP armazenam valores com até um máximo de seis dígitos de precisão para segundos fracionários.
Se você inserir uma data em uma coluna TIMESTAMP ou uma data com um valor de timestamp parcial, o valor será convertido implicitamente em um valor de timestamp completo. Esse valor de timestamp completo tem valores padrão (00) para horas, minutos e segundos ausentes. Os valores de fuso horário nas strings de entrada são ignorados.
Por padrão, os valores de TIMESTAMP são UTC nas tabelas de usuário e nas tabelas de sistema do Amazon Redshift.
TIMESTAMPTZ
TIMESTAMPTZ é um alias de TIMESTAMP COM FUSO HORÁRIO.
Use o tipo de dados TIMESTAMPTZ para inserir valores de registro de data e hora completos que incluem a data, a hora do dia e um fuso horário. Quando um valor de entrada inclui um fuso horário, o Amazon Redshift usa o fuso horário para converter o valor em UTC e armazena o valor UTC.
Para visualizar uma lista de nomes de fusos horários compatíveis, execute o comando a seguir.
select pg_timezone_names();
Para visualizar uma lista de abreviações de fusos horários compatíveis, execute o comando a seguir.
select pg_timezone_abbrevs();
Você também pode encontrar informações atuais sobre fusos horários no Banco de dados de fuso horário de IANA
A tabela a seguir tem exemplos de formatos de fuso horário.
Formato | Exemplo |
---|---|
dd mon hh:mi:ss yyyy tz |
17 Dez 07:37:16 1997 PST |
mm/dd/yyyy hh:mi:ss.ss tz |
12/17/1997 07:37:16.00 PST |
mm/dd/yyyy hh:mi:ss.ss tz |
12/17/1997 07:37:16.00 EUA/Pacífico |
yyyy-mm-dd hh:mi:ss+/-tz |
1997-12-17 07:37:16-08 |
dd.mm.yyyy hh:mi:ss tz |
17.12.1997 07:37:16.00 PST |
As colunas TIMESTAMPTZ armazenam valores com até um máximo de seis dígitos de precisão para segundos fracionários.
Se você inserir uma data em uma coluna TIMESTAMPTZ, ou uma data com um timestamp parcial, o valor será convertido implicitamente em um valor de timestamp completo. Esse valor de timestamp completo tem valores padrão (00) para horas, minutos e segundos ausentes.
Os valores TIMESTAMPTZ são em UTC em tabelas de usuário.