Questão FC369471
João trabalha na filial de uma multinacional no Rio de Janeiro (GMT-3) e recebeu alguns relatórios da sede da empresa localizada na Califórnia (GMT-8). Durante a verificação, João
Linguagem SQL
FGV · 2024
João trabalha na filial de uma multinacional no Rio de Janeiro (GMT-3) e recebeu alguns relatórios da sede da empresa localizada na Califórnia (GMT-8). Durante a verificação, João identificou uma tabela com uma coluna que trazia informações de timestamp e timezone da sua filial e não da sede onde o relatório havia sido gerado. João entrou em contato com a sede para relatar o ocorrido, pois, se o relatório foi feito na Califórnia, deveria estar com as configurações de timestamp e timezone da sede. Entretanto, a sede da empresa informou que tabela anexada ao relatório teve seu campo definido como:
- localtimestamp;
- current_timestamp;
- timestamp;
- timestamp with timezone;
- timestamp with local timezone.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
Ao usar timestamp with local timezone, o banco de dados não grava a zona horária junto ao valor; ele normaliza o instante para a referência interna do SGBD no momento do armazenamento.
Quando o registro é lido, o SGBD/driver converte automaticamente esse instante para a timezone da sessão/cliente que está consultando, apresentando a data e hora ajustadas ao ambiente local de quem requisita.
Na prática, se o relatório foi gerado na Califórnia mas a sessão de João está em GMT‑3, o valor será exibido convertido para GMT‑3, explicando a discrepância observada.
Importante: esse comportamento depende da configuração de timezone da sessão/cliente no momento da leitura; o armazenamento, porém, mantém apenas o instante normalizado pelo SGBD.
Conteúdo do catálogo FC Concursos · Atualizado em