with to_timestamp example ejemplo column oracle timezone timestamp ddl timestamp-with-timezone

to_timestamp - Cambiar el componente de zona horaria de TIMESTAMP WITH TIMEZONE en Oracle



timestamp with timezone oracle (1)

¿Realmente necesita cambiar los datos que están almacenados en la base de datos? Normalmente, es suficiente simplemente para convertir a una zona horaria diferente para la pantalla, es decir,

SELECT <<your_timestamp_column>> AT TIME ZONE ''UTC'' FROM <<your table>>

Por supuesto, si lo desea, también puede

UPDATE <<your table>> SET <<your timestamp column>> = <<your timestamp column>> AT TIME ZONE ''UTC''

para cambiar todos los datos.

Tengo algunos datos que se almacenan en una columna TIMESTAMP(6) WITH TIMEZONE en Oracle, pero se almacenan en la zona horaria incorrecta. Por convención, todas las marcas de tiempo en la base de datos deben almacenarse en UTC, pero estos datos se conservaron incorrectamente como EDT. Los valores reales son equivalentes al valor UTC correcto; el problema es simplemente que se almacena como 19-JUN-12 12.20.42.000000000 PM AMERICA/NEW_YORK cuando en su lugar debería ser 19-JUN-12 16.20.42.000000000 PM UTC . ¿Hay alguna forma en Oracle para cambiar esto?