Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come convertire tra i fusi orari in SQL Server 2008?

Presumo che tu intenda "Cental Standard Time" e "India Standard Time" poiché "CST" e "IST" possono significare alcune cose diverse. Se questo è sbagliato, sostituisci semplicemente gli offset corretti per i tuoi fusi orari in qualcosa di simile a questo:

select cast(switchoffset(todatetimeoffset(dtDate, '-06:00'), '+05:30') as datetime)

Ecco i passaggi:

  • Converti il nostro datetime a un datetimeoffset , che è un tipo di dati sensibile al fuso orario.
  • Cambia l'offset a un nuovo fuso orario.
  • Trasmetti a datetime (facoltativo, ma sembra essere quello che vuoi).