Support IANA time zone identifiers with AT TIME ZONE
SQL Server's time zone functionality, provided by the AT TIME ZONE intrinsic function, and the sys.timezoneinfo table, presently only support Windows time zone identifiers - even on non-Windows systems.
Not all systems interacting with SQL Server will use Windows time zones. Many of them will use IANA time zone identifiers, supplied by https://www.iana.org/time-zones.
For example, "Pacific Standard Time" is a Windows ID. The equivalent IANA ID is "America/Los_Angeles".
SQL Server should support BOTH forms of time zone identifiers. This is achievable through CLDR mappings, which are at
They are also available on Windows systems at
The are also supported by ICU functions in the TimeZone class:
Thus - SQL Server should be able to implement support for them without changing the AT TIME ZONE syntax.
Note - the only zone id that is in both sets is "UTC" - which has the same meaning in both.
For example customer that needs this, see:
Also, note that competing database engines, Postgres, Oracle, MySql, and others all use IANA time zone IDs in their AT TIME ZONE or CONVERT_TZ implementations
Michael S. Nissen commented
A number of Python modules such as Pandas and pytz have incorporated full IANA timezone support, including daylight saving. It would be very helpful if Microsoft would kindly incorporate this in their time functions too.
Solomon Rutzky commented
Excellent suggestion. Though I would go one step further and request implementing the full timezone / DST history table so that all (or at least most) historical dates can be calculated correctly and reliably (similar to what you are doing in your "SQL Server Time Zone Support" project: https://github.com/mj1856/SqlServerTimeZoneSupport ).