Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment convertir les fuseaux horaires dans SQL Server 2005 ?

Étant donné que SQL Server ne fournit pas de support prêt à l'emploi pour cela, vous pouvez envisager d'écrire une procédure stockée .Net dll, qui utilise le Objet .Net TimeZoneInfo , cet objet prend en compte toutes les règles, y compris l'heure d'été. Cette classe vous permet également de convertir l'heure d'une zone à une autre. J'espère que cela vous aidera.

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

[Modifier]

Tutoriel de création simple Procédure stockée DLL .Net.

Un autre tutoriel utile, avec plus de détails sur le déploiement.