sql >> Database teknologi >  >> RDS >> Mysql

Er der MySQL svarende til Oracles TIMESTAMP WITH TIME ZONE?

Nej, du bliver nødt til at opdele dataene i 2 kolonner, den ene om dato og klokkeslæt, og den anden indeholder tidszoneoplysningerne. Men hvad du lægger i sidstnævnte felt afhænger af, hvad du har gemt i Oracle - TIMESTAMP WITH TIME ZONE Datatype kan indeholde TZ offset og (valgfrit) tidszoneregionen. Det sidste er naturligvis et krav for, at dato og klokkeslæt er semantisk korrekt, men IIRC Oracle håndhæver ikke, at disse data udfyldes.

Da MySQL ikke har datatypen, vil det være meget svært at skrive MySQL-funktionen til at behandle den - det er meget nemmere at oprette en MySQL-kompatibel repræsentation i Oracle, hvor datatypen understøttes. Du skal bare finde ud af, hvilke data du rent faktisk har, og beslutte, hvordan du vil repræsentere dem i MySQL. Konventionelt betyder det at gemme det i UTC sammen med TZ i en separat kolonne, derefter konvertere det ved valg med convert_tz-funktionen (altid fra UTC)



  1. Gruppér rækker efter årbåndsinterval

  2. Hvad er et brugerdefineret runtime-billede i Java 9?

  3. sqlalchemy.exc.NoSuchModuleError:Kan ikke indlæse plugin:sqlalchemy.dialects:postgres

  4. postgres omdøb databasen virker ikke