sql >> Databasteknik >  >> RDS >> Sqlserver

Lagra DateTime (UTC) kontra att lagra DateTimeOffset

Det finns en enorm skillnad, där du inte kan använda UTC ensam.

  • Om du har ett scenario som detta

    • En server och flera kunder (alla geografiskt i olika tidszoner )
    • Kunder skapar viss data med information om datum och tid
    • Kunder lagrar allt på central server
  • Sedan:

    • datetimeoffset lagrar lokal tid för klienten och ÄVEN offset till UTC-tiden
    • alla kunder känner till UTC-tiden för all data och även en lokal tid på den plats där informationen kommer från
  • Men:

    • UTC datetime lagrar bara UTC datetime , så att du inte har information om lokal tid på klientplatsen där data härstammar
    • Andra kunder känner inte till den lokala tiden på platsen där datum och tid informationen kom ifrån
    • Andra klienter kan bara beräkna sin lokala tid från databasen (med UTC-tid) inte den lokala tiden för klienten, där data härstammar

Ett enkelt exempel är bokningssystem för flygbiljetter... Flygbiljetten bör innehålla 2 gånger:- "starttid" (i tidszonen för "Från" stad)- "landningstid" (i tidszonen för "Destinationsstad")



  1. Duplicera (upprepa) rader i sql-frågeresultat

  2. PHP MySQL-syntax för att infoga datum, tid

  3. Hur man tolkar PosgreSQL txid_current() värde

  4. MySQL InnoDB databas återställning