Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe MySQL equivalente ao TIMESTAMP WITH TIME ZONE da Oracle?


Não, você precisará dividir os dados em 2 colunas, uma de data e hora e a outra contendo as informações de fuso horário. Mas o que você coloca no último campo depende do que você armazenou no Oracle - o tipo de dados TIMESTAMP WITH TIME ZONE pode conter o deslocamento TZ e (opcionalmente) a região do fuso horário. Obviamente, o último é um requisito para que a data e hora seja semanticamente correta, mas o IIRC Oracle não impõe que esses dados sejam preenchidos.

Como o MySQL não tem o tipo de dados, será muito difícil escrever a função MySQL para processá-lo - é muito mais simples criar uma representação compatível com MySQL no Oracle onde o tipo de dados é suportado. Você só precisa descobrir quais dados você realmente possui e decidir como deseja representá-los no MySQL. Por convenção, isso significa armazená-lo em UTC junto com o TZ em uma coluna separada e convertê-lo na seleção com a função convert_tz (sempre do UTC)