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

Jak převést časová pásma v SQL Server 2005?

Vzhledem k tomu, že SQL Server pro toto neposkytuje přímou podporu, můžete zvážit napsání uložené procedury .Net dll, která využívá .Net TimeZoneInfo objekt , tento objekt bere v úvahu všechna pravidla včetně DST. Tato třída vám také umožňuje převádět čas z jedné zóny do druhé. Doufám, že to pomůže.

DateTime hwTime = new DateTime(2007, 02, 01, 08, 00, 00);
try
{
   TimeZoneInfo hwZone = TimeZoneInfo.FindSystemTimeZoneById("Hawaiian Standard Time");
   Console.WriteLine("{0} {1} is {2} local time.", 
           hwTime, 
           hwZone.IsDaylightSavingTime(hwTime) ? hwZone.DaylightName : hwZone.StandardName, 
           TimeZoneInfo.ConvertTime(hwTime, hwZone, TimeZoneInfo.Local));
}
catch (TimeZoneNotFoundException)
{
   Console.WriteLine("The registry does not define the Hawaiian Standard Time zone.");
}                           
catch (InvalidTimeZoneException)
{
   Console.WriteLine("Registry data on the Hawaiian STandard Time zone has been corrupted.");
}

[Upravit]

Výukový program jednoduchého vytváření .Net DLL uložená procedura.

Další užitečný tutoriál obsahuje více podrobností o nasazení.



  1. nelze načíst oci8 -> Závažná chyba:Volání nedefinované funkce oci_connect()

  2. Postgresql:Připojení odmítnuto. Zkontrolujte, že název hostitele a port jsou správné a že správce pošty přijímá připojení TCP/IP

  3. MySql udělte uživateli oprávnění

  4. Mysql se zobrazuje každý den mezi, i když nejsou žádné výsledky