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

Hvordan konverteres tidszoner i SQL Server 2005?

Da SQL Server ikke yder direkte support til dette, kan du overveje at skrive en .Net dll-lagret procedure, der gør brug af .Net TimeZoneInfo-objekt , tager dette objekt alle regler inklusive sommertid i betragtning. Denne klasse giver dig mulighed for at konvertere tid fra en zone til en anden. Jeg håber, at dette hjælper.

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.");
}

[Rediger]

Selvstudiet til at skabe enkel .Net DLL-lagret procedure.

En anden nyttig selvstudie, har flere detaljer om implementering.



  1. Hvordan bruger man .format()-strengen i en MySQL-sætning?

  2. Brug af sp_help_jobschedule i SQL Server

  3. Proaktiv MySQL-overvågning (udviklerstudie/rådgivervinkel)

  4. En begrænsning, der kun tillader en af ​​to tabeller at referere til en basistabel