Analista Judiciário - Especialidade - Análise de Sistemas - Web Designer
Observe o seguinte script SQL, executado em uma instância do H2 Database 2.2, com configuração padrão:INSERT INTO CAMPOS (id, campo)VALUES (1, '2023-12-31 23:59:59Z');SELECT campo FROM CAMPOS WHERE id = 1;Após a execução do script, o H2 Database 2.2 retornou:2023-12-31 20:59:59Logo, o tipo de dado do atributo campo da tabela CAMPOS no H2 Database 2.2 é:
ATIME;
BDATE;
CTIMESTAMP;
DTIME WITH TIME ZONE;
ETIMESTAMP WITH TIME ZONE.
Revelar gabarito e comentário▾
GabaritoC — TIMESTAMP;
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Tipos de dados SQL no H2: TIMESTAMP sem fuso horário
Gabarito: letra C. O atributo campo é do tipo TIMESTAMP. O script insere um valor com fuso horário UTC ('2023-12-31 23:59:59Z') e o H2 o converte para o fuso local (UTC‑3, padrão da instância), retornando 2023-12-31 20:59:59 – sem qualquer indicador de timezone. Esse comportamento é característico do tipo TIMESTAMP, que armazena data e hora sem fuso horário e realiza conversão implícita. Já TIMESTAMP WITH TIME ZONE preservaria o fuso ou exibiria um offset, o que não ocorre.
Tipos de data/hora no H2: TIME (Só hora (HH:MM:SS), Incompatível: valor tem data); DATE (Só data (ano-mês-dia), Incompatível: valor tem horário); TIMESTAMP (Data + hora, SEM fuso, Converte fuso de entrada e descarta, Output: 2023-12-31 20:59:59 (UTC→UTC-3)); TIME WITH TIME ZONE (Só hora + fuso, Incompatível: valor tem data); TIMESTAMP WITH TIME ZONE (Data + hora + fuso, Preservaria fuso na saída (ex.: -03))
Alternativa A — ❌ Incorreta
TIME armazena apenas a hora (HH:MM:SS), sem data. O valor inserido contém data completa (2023-12-31), portanto incompatível.
Alternativa B — ❌ Incorreta
DATE guarda somente a data (ano-mês-dia), sem horário. O valor inserido possui horário (23:59:59), o que descarta esse tipo.
Alternativa C — ✅ Correta ⟵ GABARITO
TIMESTAMP (sem fuso) aceita data e hora e, ao receber uma string com fuso, converte‑a para o fuso horário da sessão e descarta a informação de timezone. O output exibido — 2023-12-31 20:59:59 — confere exatamente com essa conversão de UTC para UTC‑3.
Alternativa D — ❌ Incorreta
TIME WITH TIME ZONE armazena apenas hora com fuso, sem componente de data. O valor inserido tem data, logo não se adequa.
Alternativa E — ❌ Incorreta
TIMESTAMP WITH TIME ZONE preserva o fuso horário na exibição (ex.: 2023-12-31 20:59:59-03). O resultado obtido não contém offset ou Z, o que prova que o tipo da coluna não é TIMESTAMP WITH TIME ZONE.
NÃO CAIA NESSA!
A presença do Z (UTC) na entrada pode levar o candidato a pensar que a coluna é TIMESTAMP WITH TIME ZONE. Contudo, a saída sem fuso revela que o banco converteu e descartou a informação de timezone, característica do tipo TIMESTAMP. Fique atento: o comportamento depende do tipo efetivo da coluna, não apenas do formato do dado inserido.