Come abbreviare "Locale" per una variabile temporale, come UTC [chiuso]

-1

In un database su cui lavoro, la maggior parte dei datetime che immagazzino sono convertiti in e da UTC, quindi tutte le mie colonne datetime terminano in UTC come CanceledUTC .

Ho una situazione in cui ho bisogno di memorizzare un orario "locale" e voglio significare che si tratta di un'ora locale nel nome della colonna.

Esiste una convenzione per indicare i nomi delle variabili datetime locali ?

So che memorizzare i datetimes "locali" è una cattiva pratica, quindi sto anche valutando di archiviarlo come stringa, ma non è questa la domanda qui.

    
posta Zach Mierzejewski 13.11.2015 - 20:59
fonte

1 risposta

5

Niente.

Il nome della colonna dovrebbe essere CancelledTime o CancelledAt e la colonna dovrebbe avere tipo TIMESTAMP . Verrà memorizzato in base al fuso orario in modo agnostico, ma verrà automaticamente preso in considerazione il fuso orario della sessione quando i valori vengono inseriti e recuperati.

Se ciò non è possibile per qualche motivo, allora bene rendilo un DATETIME ... ma dagli una riga COMMENT che indica che i valori del campo sono rappresentazioni temporali locali. Questa sembra davvero una cattiva idea, però: ora locale quando ? Inserisci prima dell'ora legale, recupera dopo l'ora legale → ti viene hosed.

Certamente, tuttavia, le informazioni sulla rappresentazione dei dati non appartengono al nome del campo. Ciò che i dati è appartiene al nome del campo. E i tuoi dati sono (presumibilmente) "il momento in cui una cosa è stata cancellata".

    
risposta data 13.11.2015 - 21:09
fonte

Leggi altre domande sui tag