Začněte nyníZačněte zdarma

Převod na datum s posunem

Kromě funkce SWITCHOFFSET() můžeme k převodu existujícího data na datový typ s časovým posunem použít také TODATETIMEOFFSET(). Pokud náš výchozí čas je v UTC, musíme ho nejdřív opravit o rozdíl časového pásma a teprve pak přidat posun. Korekci časového pásma provedeme ručně přičtením nebo odečtením hodin (případně minut).

Zakončení olympijských her 2016 v Rio de Janeiru začalo 21. srpna 2016 v 23:00 UTC. Začneme řetězcem obsahujícím toto datum a čas a zjistíme, kolik bylo ve stejnou chvíli na jiných místech světa. Pro Phoenix v Arizoně platí, že toto město dodržuje Mountain Standard Time, tedy UTC -7 po celý rok. Ostrovní stát Tuvalu má vlastní časové pásmo, které je o 12 hodin před UTC.

Toto cvičení je součástí kurzu

Time Series Analysis in SQL Server

Zobrazit kurz

Pokyny k cvičení

  • Doplň čas v Phoenixu v Arizoně, který v rámci Mountain Standard Time odpovídá UTC -07:00.
  • Doplň čas pro Tuvalu, které je 12 hodin před UTC.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

DECLARE
	@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';

SELECT
	-- Fill in 7 hours back and a '-07:00' offset
	___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
	-- Fill in 12 hours forward and a '+12:00' offset.
	___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;
Upravit a spustit kód