sql >> Database >  >> RDS >> Sqlserver

DateTime (UTC) opslaan versus DateTimeOffset opslaan

Er is één groot verschil, waarbij je UTC niet alleen kunt gebruiken.

  • Als je een scenario als dit hebt

    • Eén server en verschillende klanten (allemaal geografisch in verschillende tijdzones )
    • Klanten maken wat gegevens met datetime-informatie
    • Klanten slaan het allemaal op de centrale server op
  • Dan:

    • datetimeoffset slaat de lokale tijd van de klant op en OOK de offset tot de UTC-tijd
    • alle klanten kennen de UTC-tijd van alle gegevens en ook een lokale tijd op de plaats waar de informatie vandaan kwam
  • Maar:

    • UTC datetime slaat alleen UTC datetime op , zodat u geen informatie heeft over de lokale tijd op de klantlocatie waar de gegevens vandaan kwamen
    • Andere klanten weten niet de lokale tijd van de plaats, waar de datetime-informatie vandaan kwam
    • Andere klanten kunnen alleen hun lokale tijd uit de database berekenen (met behulp van UTC-tijd), niet de lokale tijd van de klant, waar de gegevens vandaan komen

Een eenvoudig voorbeeld is het reserveringssysteem voor vliegtickets ... Het vliegticket moet 2 tijden bevatten:- "start"-tijd (in tijdzone van "Van" stad)- "landing" tijd (in tijdzone van "Bestemming" stad)



  1. Hoe de toegestane bijlagegrootte te vergroten bij het verzenden van e-mail in SQL Server (T-SQL)

  2. Hoe te regexen in een MySQL-query

  3. Oracle:is er een manier om recente SQL-syntaxisfouten te krijgen?

  4. COALESCE gebruiken om NULL-waarden in PostgreSQL te verwerken