sql >> Databáze >  >> RDS >> Sqlserver

SQL převést datum a čas a odečíst hodiny

declare @createTime datetime = '2012-10-06 02:29:37.243';

-- original value, default formatting
select @createTime;

-- formatted
select convert(varchar, @createTime, 100);

-- subtract 4 hours, formatted
select convert(varchar, dateadd(hour, -4, @createTime), 100);

Výše uvedený dotaz, který používá dateadd bude vždy odečítat 4 hodiny. Pokud je vaším cílem převést libovolné datum a čas z UTC na místní čas, pak je to složitější, protože offset, který musíte přidat/odečíst, závisí na původním datovém čase. Jediná hodnota jako -4 nebude vždy fungovat. Zde je několik nápadů, jak se vypořádat s obecným případem:

Efektivní převod dat mezi UTC a místním (tj. PST) časem v SQL 2005



  1. SQL pivotuje hodnoty sloupců

  2. Vývoj odolnosti vůči chybám v PostgreSQL:Cestování časem

  3. HighCharts a PHP json_encode. Data z MySQL. Na grafu nejsou žádná data

  4. Transakční pracovní postup DDL pro MySQL