Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przekonwertować strefy czasowe w SQL Server 2005?

Ponieważ SQL Server nie zapewnia gotowej obsługi tego rozwiązania, możesz rozważyć napisanie procedury składowanej .Net dll, która korzysta z .Net TimeZoneInfo obiekt , ten obiekt bierze pod uwagę wszystkie reguły, w tym czas letni. Ta klasa pozwala również na konwersję czasu z jednej strefy do drugiej. Mam nadzieję, że to pomoż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.");
}

[Edytuj]

Samouczek Tworzenie prostego Procedura składowana .Net DLL.

Kolejny przydatny samouczek zawiera więcej szczegółów na temat wdrażania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolumna wyszukiwania w bazie danych SQL z pominięciem znaków specjalnych

  2. Konwertuj „czas” na „smalldatetime” w SQL Server (przykłady T-SQL)

  3. Grupy konwersacyjne dla brokerów usług SQL Server

  4. Błąd „Musisz zadeklarować zmienną skalarną” podczas przekazywania parametru wycenianego w tabeli do sparametryzowanej instrukcji SQL

  5. Jak zaimportować arkusz kalkulacyjny programu Excel do bazy danych SQL Server 2008R2?