为 Linux 上的 SQL Server 2017 配置时区

适用于: SQL Server - Linux

本文介绍如何为 Linux 上的 SQL Server 2017 (14.x) 配置时区。 还可以在 Linux 上为 SQL Server 2019SQL Server 2022 配置时区。

概述

Linux 上的 SQL Server 2017 (14.x) 在内部使用 Windows 时区。 所有 Transact-SQL (T-SQL) 命令都使用 Windows 时区,例如 CURRENT_TIMEZONE_ID 函数和 AT TIME ZONE 查询运算符。

  1. Linux 上的 SQL Server 2017 (14.x) 使用以下序列中的第一个有效结果首先确定要使用的时区:

    • TZ 环境变量(如果已设置);
    • /etc/localtime 符号链接(如果存在);
    • /etc/timezone 值(如果文件存在);
    • 来自 /etc/sysconfig/clockZONE= 特性(如果它们存在)。
  2. 然后,生成的 Linux 时区通过固定的时区映射表映射到相应的 Windows 时区。

时区映射

Windows 时区使用以下映射派生自 Linux tz 时区。

将考虑 /usr/share/zoneinfo/usr/lib/zoneinfo 中的符号链接。 例如,如果 TZ 设置为 America/Knox_IN,并且 /usr/share/zoneinfo/America/Knox_IN 条目是指向 /usr/share/zoneinfo/America/Indiana/Knox 的符号链接,则 Windows 时区将通过 America/Indiana/Knox 映射条目解析为 Central Standard Time

TZ 时区 Windows 时区
Africa/Abidjan 格林威治标准时间
Africa/Accra 格林威治标准时间
Africa/Addis_Ababa E. 东非标准时间
Africa/Algiers 中非 西部标准时间
Africa/Asmera E. 东非标准时间
Africa/Bamako 格林威治标准时间
Africa/Bangui 中非 西部标准时间
Africa/Banjul 格林威治标准时间
Africa/Bissau 格林威治标准时间
Africa/Blantyre 南非标准时间
Africa/Brazzaville 中非 西部标准时间
Africa/Bujumbura 南非标准时间
Africa/Cairo 埃及标准时间
Africa/Casablanca 摩洛哥标准时间
Africa/Ceuta 罗马标准时间
Africa/Conakry 格林威治标准时间
Africa/Dakar 格林威治标准时间
Africa/Dar_es_Salaam E. 东非标准时间
Africa/Djibouti E. 东非标准时间
Africa/Douala 中非 西部标准时间
Africa/El_Aaiun 摩洛哥标准时间
Africa/Freetown 格林威治标准时间
Africa/Gaborone 南非标准时间
Africa/Harare 南非标准时间
Africa/Johannesburg 南非标准时间
Africa/Juba E. 东非标准时间
Africa/Kampala E. 东非标准时间
Africa/Khartoum E. 东非标准时间
Africa/Kigali 南非标准时间
Africa/Kinshasa 中非 西部标准时间
Africa/Lagos 中非 西部标准时间
Africa/Libreville 中非 西部标准时间
Africa/Lome 格林威治标准时间
Africa/Luanda 中非 西部标准时间
Africa/Lubumbashi 南非标准时间
Africa/Lusaka 南非标准时间
Africa/Malabo 中非 西部标准时间
Africa/Maputo 南非标准时间
Africa/Maseru 南非标准时间
Africa/Mbabane 南非标准时间
Africa/Mogadishu E. 东非标准时间
Africa/Monrovia 格林威治标准时间
Africa/Nairobi E. 东非标准时间
Africa/Ndjamena 中非 西部标准时间
Africa/Niamey 中非 西部标准时间
Africa/Nouakchott 格林威治标准时间
Africa/Ouagadougou 格林威治标准时间
Africa/Porto-Novo 中非 西部标准时间
Africa/Sao_Tome 格林威治标准时间
Africa/Tripoli 利比亚标准时间
Africa/Tunis 中非 西部标准时间
Africa/Windhoek 纳米比亚标准时间
America/Adak 阿留申群岛标准时间
America/Anchorage 阿拉斯加标准时间
America/Anguilla 南美洲西部标准时间
America/Antigua 南美洲西部标准时间
America/Araguaina 托坎廷斯标准时间
America/Argentina/La_Rioja 阿根廷标准时间
America/Argentina/Rio_Gallegos 阿根廷标准时间
America/Argentina/Salta 阿根廷标准时间
America/Argentina/San_Juan 阿根廷标准时间
America/Argentina/San_Luis 阿根廷标准时间
America/Argentina/Tucuman 阿根廷标准时间
America/Argentina/Ushuaia 阿根廷标准时间
America/Aruba 南美洲西部标准时间
America/Asuncion 巴拉圭标准时间
America/Bahia 巴伊亚标准时间
America/Bahia_Banderas 中部标准时间(墨西哥)
America/Barbados 南美洲西部标准时间
America/Belem 南美洲东部标准时间
America/Belize 中美洲标准时间
America/Blanc-Sablon 南美洲西部标准时间
America/Boa_Vista 南美洲西部标准时间
America/Bahia 南美洲太平洋标准时间
America/Belize 山地标准时间
America/Buenos_Aires 阿根廷标准时间
America/Cambridge_Bay 山地标准时间
America/Campo_Grande 巴西中部标准时间
America/Cancun 东部标准时间(墨西哥)
America/Caracas 委内瑞拉标准时间
America/Catamarca 阿根廷标准时间
America/Cayenne 南美洲东部标准时间
America/Cayman 南美洲太平洋标准时间
America/Chicago 中部标准时间
America/Chihuahua 山地标准时间(墨西哥)
America/Coral_Harbour 南美洲太平洋标准时间
America/Cordoba 阿根廷标准时间
America/Costa_Rica 中美洲标准时间
America/Creston 美国山地标准时间
America/Cuiaba 巴西中部标准时间
America/Curacao 南美洲西部标准时间
America/Danmarkshavn UTC
America/Dawson 太平洋标准时间
America/Dawson_Creek 美国山地标准时间
America/Denver 山地标准时间
America/Detroit 东部标准时间
America/Dominica 南美洲西部标准时间
America/Edmonton 山地标准时间
America/Eirunepe 南美洲太平洋标准时间
America/El_Salvador 中美洲标准时间
America/Fort_Nelson 美国山地标准时间
America/Fortaleza 南美洲东部标准时间
America/Glace_Bay 大西洋标准时间
America/Godthab 格陵兰标准时间
America/Goose_Bay 大西洋标准时间
America/Grand_Turk 特克斯和凯科斯群岛标准时间
America/Grenada 南美洲西部标准时间
America/Guadeloupe 南美洲西部标准时间
America/Guatemala 中美洲标准时间
America/Guayaquil 南美洲太平洋标准时间
America/Guyana 南美洲西部标准时间
America/Halifax 大西洋标准时间
America/Havana 古巴标准时间
America/Hermosillo 美国山地标准时间
America/Indiana/Knox 中部标准时间
America/Indiana/Marengo 美国东部标准时间
America/Indiana/Petersburg 东部标准时间
America/Indiana/Tell_City 中部标准时间
America/Indiana/Vevay 美国东部标准时间
America/Indiana/Vincennes 东部标准时间
America/Indiana/Winamac 东部标准时间
America/Indianapolis 美国东部标准时间
America/Inuvik 山地标准时间
America/Iqaluit 东部标准时间
America/Jamaica 南美洲太平洋标准时间
America/Jujuy 阿根廷标准时间
America/Juneau 阿拉斯加标准时间
America/Kentucky/Monticello 东部标准时间
America/Kralendijk 南美洲西部标准时间
America/La_Paz 南美洲西部标准时间
America/Lima 南美洲太平洋标准时间
America/Los_Angeles 太平洋标准时间
America/Louisville 东部标准时间
America/Lower_Princes 南美洲西部标准时间
America/Maceio 南美洲东部标准时间
America/Managua 中美洲标准时间
America/Manaus 南美洲西部标准时间
America/Marigot 南美洲西部标准时间
America/Martinique 南美洲西部标准时间
America/Matamoros 中部标准时间
America/Mazatlan 山地标准时间(墨西哥)
America/Mendoza 阿根廷标准时间
America/Menominee 中部标准时间
America/Merida 中部标准时间(墨西哥)
America/Metlakatla 阿拉斯加标准时间
America/Mexico_City 中部标准时间(墨西哥)
America/Miquelon 圣皮埃尔标准时间
America/Moncton 大西洋标准时间
America/Monterrey 中部标准时间(墨西哥)
America/Montevideo 蒙得维的亚标准时间
America/Montreal 东部标准时间
America/Montserrat 南美洲西部标准时间
America/Nassau 东部标准时间
America/New_York 东部标准时间
America/Nipigon 东部标准时间
America/Nome 阿拉斯加标准时间
America/Noronha UTC-02
America/North_Dakota/Beulah 中部标准时间
America/North_Dakota/Center 中部标准时间
America/North_Dakota/New_Salem 中部标准时间
America/Ojinaga 山地标准时间
America/Panama 南美洲太平洋标准时间
America/Pangnirtung 东部标准时间
America/Paramaribo 南美洲东部标准时间
America/Phoenix 美国山地标准时间
America/Port-au-Prince 海地标准时间
America/Port_of_Spain 南美洲西部标准时间
America/Porto_Velho 南美洲西部标准时间
America/Puerto_Rico 南美洲西部标准时间
America/Rainy_River 中部标准时间
America/Rankin_Inlet 中部标准时间
America/Recife 南美洲东部标准时间
America/Regina 加拿大中部标准时间
America/Resolute 中部标准时间
America/Rio_Branco 南美洲太平洋标准时间
America/Santa_Isabel 太平洋标准时间(墨西哥)
America/Santarem 南美洲东部标准时间
America/Santiago 太平洋南美洲标准时间
America/Santo_Domingo 南美洲西部标准时间
America/Sao_Paulo E. 南美洲标准时间
America/Scoresbysund 亚速尔群岛标准时间
America/Sitka 阿拉斯加标准时间
America/St_Barthelemy 南美洲西部标准时间
America/St_Johns 纽芬兰标准时间
America/St_Kitts 南美洲西部标准时间
America/St_Lucia 南美洲西部标准时间
America/St_Thomas 南美洲西部标准时间
America/St_Vincent 南美洲西部标准时间
America/Swift_Current 加拿大中部标准时间
America/Tegucigalpa 中美洲标准时间
America/Thule 大西洋标准时间
America/Thunder_Bay 东部标准时间
America/Tijuana 太平洋标准时间(墨西哥)
America/Toronto 东部标准时间
America/Tortola 南美洲西部标准时间
America/Vancouver 太平洋标准时间
America/Whitehorse 太平洋标准时间
America/Winnipeg 中部标准时间
America/Yakutat 阿拉斯加标准时间
America/Yellowknife 山地标准时间
Antarctica/Casey 西 澳大利亚标准时间
Antarctica/Davis 东南亚标准时间
Antarctica/DumontDUrville 太平洋西部标准时间
Antarctica/Macquarie 太平洋中部标准时间
Antarctica/Mawson 西亚标准时间
Antarctica/McMurdo 新西兰标准时间
Antarctica/Palmer 太平洋南美洲标准时间
Antarctica/Rothera 南美洲东部标准时间
Antarctica/Syowa E. 东非标准时间
Antarctica/Vostok 中亚标准时间
Arctic/Longyearbyen 西欧 标准时间
Asia/Aden 阿拉伯 (Arab) 标准时间
Asia/Almaty 中亚标准时间
Asia/Amman 约旦标准时间
Asia/Anadyr 俄罗斯时区 11
Asia/Aqtau 西亚标准时间
Asia/Aqtobe 西亚标准时间
Asia/Ashgabat 西亚标准时间
Asia/Baghdad 阿拉伯 (Arabic) 标准时间
Asia/Bahrain 阿拉伯 (Arab) 标准时间
Asia/Baku 阿塞拜疆标准时间
Asia/Bangkok 东南亚标准时间
Asia/Barnaul 阿尔泰标准时间
Asia/Beirut 中东标准时间
Asia/Bishkek 中亚标准时间
Asia/Brunei 新加坡标准时间
Asia/Kolkatav 印度标准时间
Asia/Chita 外贝加尔标准时间
Asia/Choibalsan 乌兰巴托标准时间
Asia/Colombo 斯里兰卡标准时间
Asia/Damascus 叙利亚标准时间
Asia/Dhaka 孟加拉标准时间
Asia/Dili 东京标准时间
Asia/Dubai 阿拉伯半岛标准时间
Asia/Dushanbe 西亚标准时间
Asia/Gaza 约旦河西岸标准时间
Asia/Hebron 约旦河西岸标准时间
Asia/Hong_Kong 中国标准时间
Asia/Hovd 西 蒙古标准时间
Asia/Irkutsk 东北亚标准时间
Asia/Jakarta 东南亚标准时间
Asia/Jayapura 东京标准时间
Asia/Jerusalem 以色列标准时间
Asia/Kabul 阿富汗标准时间
Asia/Kamchatka 俄罗斯时区 11
Asia/Karachi 巴基斯坦标准时间
Asia/Katmandu 尼泊尔标准时间
Asia/Khandyga 雅库茨克标准时间
Asia/Krasnoyarsk 北亚标准时间
Asia/Kuala_Lumpur 新加坡标准时间
Asia/Kuching 新加坡标准时间
Asia/Kuwait 阿拉伯 (Arab) 标准时间
Asia/Macao 中国标准时间
Asia/Magadan 马加丹标准时间
Asia/Makassar 新加坡标准时间
Asia/Manila 新加坡标准时间
Asia/Muscat 阿拉伯半岛标准时间
Asia/Nicosia GTB 标准时间
Asia/Novokuznetsk 北亚标准时间
Asia/Novosibirsk 中北 亚标准时间
Asia/Omsk 鄂木斯克标准时间
Asia/Oral 西亚标准时间
Asia/Phnom_Penh 东南亚标准时间
Asia/Pontianak 东南亚标准时间
Asia/Pyongyang 朝鲜标准时间
Asia/Qatar 阿拉伯 (Arab) 标准时间
Asia/Qyzylorda 中亚标准时间
Asia/Yangon 缅甸标准时间
Asia/Riyadh 阿拉伯 (Arab) 标准时间
Asia/Ho_Chi_Minh 东南亚标准时间
Asia/Sakhalin 萨哈林标准时间
Asia/Samarkand 西亚标准时间
Asia/Seoul 韩国标准时间
Asia/Shanghai 中国标准时间
Asia/Singapore 新加坡标准时间
Asia/Srednekolymsk 俄罗斯时区 10
Asia/Taipei 台北标准时间
Asia/Tashkent 西亚标准时间
Asia/Tbilisi 格鲁吉亚标准时间
Asia/Tehran 伊朗标准时间
Asia/Thimphu 孟加拉标准时间
Asia/Tokyo 东京标准时间
Asia/Tomsk 托木斯克标准时间
Asia/Ulaanbaatar 乌兰巴托标准时间
Asia/Urumqi 中亚标准时间
Asia/Ust-Nera 符拉迪沃斯托克标准时间
Asia/Vientiane 东南亚标准时间
Asia/Vladivostok 符拉迪沃斯托克标准时间
Asia/Yakutsk 雅库茨克标准时间
Asia/Yekaterinburg 叶卡捷琳堡标准时间
Asia/Yerevan 高加索标准时间
Atlantic/Azores 亚速尔群岛标准时间
Atlantic/Bermuda 大西洋标准时间
Atlantic/Canary GMT 标准时间
Atlantic/Cape_Verde 佛得角标准时间
Atlantic/Faeroe GMT 标准时间
Atlantic/Madeira GMT 标准时间
Atlantic/Reykjavik 格林威治标准时间
Atlantic/South_Georgia UTC-02
Atlantic/St_Helena 格林威治标准时间
Atlantic/Stanley 南美洲东部标准时间
Australia/Adelaide 中部 澳大利亚标准时间
Australia/Brisbane E. 澳大利亚标准时间
Australia/Broken_Hill 中部 澳大利亚标准时间
Australia/Currie 塔斯马尼亚岛标准时间
Australia/Darwin 澳大利亚中部标准时间
Australia/Eucla 澳大利亚中西部标准时间
Australia/Hobart 塔斯马尼亚岛标准时间
Australia/Lindeman E. 澳大利亚标准时间
Australia/Lord_Howe 豪勋爵岛标准时间
Australia/Melbourne 澳大利亚东部标准时间
Australia/Perth 西 澳大利亚标准时间
Australia/Sydney 澳大利亚东部标准时间
CST6CDT 中部标准时间
EST5EDT 东部标准时间
Etc/GMT UTC
Etc/GMT+1 佛得角标准时间
Etc/GMT+10 夏威夷标准时间
Etc/GMT+11 UTC-11
Etc/GMT+12 国际日期变更线标准时间
Etc/GMT+2 UTC-02
Etc/GMT+3 南美洲东部标准时间
Etc/GMT+4 南美洲西部标准时间
Etc/GMT+5 南美洲太平洋标准时间
Etc/GMT+6 中美洲标准时间
Etc/GMT+7 美国山地标准时间
Etc/GMT+8 UTC-08
Etc/GMT+9 UTC-09
Etc/GMT-1 中非 西部标准时间
Etc/GMT-10 太平洋西部标准时间
Etc/GMT-11 太平洋中部标准时间
Etc/GMT-12 UTC+12
Etc/GMT-13 汤加标准时间
Etc/GMT-14 莱恩群岛标准时间
Etc/GMT-2 南非标准时间
Etc/GMT-3 E. 东非标准时间
Etc/GMT-4 阿拉伯半岛标准时间
Etc/GMT-5 西亚标准时间
Etc/GMT-6 中亚标准时间
Etc/GMT-7 东南亚标准时间
Etc/GMT-8 新加坡标准时间
Etc/GMT-9 东京标准时间
Europe/Amsterdam 西欧 标准时间
Europe/Andorra 西欧 标准时间
Europe/Astrakhan 阿斯特拉罕标准时间
Europe/Athens GTB 标准时间
Europe/Belgrade 中欧标准时间
Europe/Berlin 西欧 标准时间
Europe/Bratislava 中欧标准时间
Europe/Brussels 罗马标准时间
Europe/Bucharest GTB 标准时间
Europe/Budapest 中欧标准时间
Europe/Busingen 西欧 标准时间
Europe/Chisinau E. 标准时间
Europe/Copenhagen 罗马标准时间
Europe/Dublin GMT 标准时间
Europe/Gibraltar 西欧 标准时间
Europe/Guernsey GMT 标准时间
Europe/Helsinki FLE 标准时间
Europe/Isle_of_Man GMT 标准时间
Europe/Istanbul 土耳其标准时间
Europe/Jersey GMT 标准时间
Europe/Kaliningrad 加里宁格勒标准时间
Europe/Kyiv FLE 标准时间
Europe/Kirov 俄罗斯标准时间
Europe/Lisbon GMT 标准时间
Europe/Ljubljana 中欧标准时间
Europe/London GMT 标准时间
Europe/Luxembourg 西欧 标准时间
Europe/Madrid 罗马标准时间
Europe/Malta 西欧 标准时间
Europe/Mariehamn FLE 标准时间
Europe/Minsk 白俄罗斯标准时间
Europe/Monaco 西欧 标准时间
Europe/Moscow 俄罗斯标准时间
Europe/Oslo 西欧 标准时间
Europe/Paris 罗马标准时间
Europe/Podgorica 中欧标准时间
Europe/Prague 中欧标准时间
Europe/Riga FLE 标准时间
Europe/Rome 西欧 标准时间
Europe/Samara 俄罗斯的时区 3
Europe/San_Marino 西欧 标准时间
Europe/Sarajevo 中欧标准时间
Europe/Simferopol 俄罗斯标准时间
Europe/Skopje 中欧标准时间
Europe/Sofia FLE 标准时间
Europe/Stockholm 西欧 标准时间
Europe/Tallinn FLE 标准时间
Europe/Tirane 中欧标准时间
Europe/Ulyanovsk 阿斯特拉罕标准时间
Europe/Uzhgorod FLE 标准时间
Europe/Vaduz 西欧 标准时间
Europe/Vatican 西欧 标准时间
Europe/Vienna 西欧 标准时间
Europe/Vilnius FLE 标准时间
Europe/Volgograd 俄罗斯标准时间
Europe/Warsaw 中欧标准时间
Europe/Zagreb 中欧标准时间
Europe/Zaporozhye FLE 标准时间
Europe/Zurich 西欧 标准时间
Indian/Antananarivo E. 东非标准时间
Indian/Chagos 中亚标准时间
Indian/Christmas 东南亚标准时间
Indian/Cocos 缅甸标准时间
Indian/Comoro E. 东非标准时间
Indian/Kerguelen 西亚标准时间
Indian/Mahe 毛里求斯标准时间
Indian/Maldives 西亚标准时间
Indian/Mauritius 毛里求斯标准时间
Indian/Mayotte E. 东非标准时间
Indian/Reunion 毛里求斯标准时间
MST7MDT 山地标准时间
PST8PDT 太平洋标准时间
Pacific/Apia 萨摩亚群岛标准时间
Pacific/Auckland 新西兰标准时间
Pacific/Bougainville 布干维尔岛标准时间
Pacific/Chatham 查塔姆群岛标准时间
Pacific/Easter 复活节岛标准时间
Pacific/Efate 太平洋中部标准时间
Pacific/Enderbury 汤加标准时间
Pacific/Fakaofo 汤加标准时间
Pacific/Fiji 斐济标准时间
Pacific/Funafuti UTC+12
Pacific/Galapagos 中美洲标准时间
Pacific/Gambier UTC-09
Pacific/Guadalcanal 太平洋中部标准时间
Pacific/Guam 太平洋西部标准时间
Pacific/Honolulu 夏威夷标准时间
Pacific/Johnston 夏威夷标准时间
Pacific/Kiritimati 莱恩群岛标准时间
Pacific/Kosrae 太平洋中部标准时间
Pacific/Kwajalein UTC+12
Pacific/Majuro UTC+12
Pacific/Marquesas 马克萨斯群岛标准时间
Pacific/Midway UTC-11
Pacific/Nauru UTC+12
Pacific/Niue UTC-11
Pacific/Norfolk 诺福克岛标准时间
Pacific/Noumea 太平洋中部标准时间
Pacific/Pago_Pago UTC-11
Pacific/Palau 东京标准时间
Pacific/Pitcairn UTC-08
Pacific/Ponape 太平洋中部标准时间
Pacific/Port_Moresby 太平洋西部标准时间
Pacific/Rarotonga 夏威夷标准时间
Pacific/Saipan 太平洋西部标准时间
Pacific/Tahiti 夏威夷标准时间
Pacific/Tarawa UTC+12
Pacific/Tongatapu 汤加标准时间
Pacific/Truk 太平洋西部标准时间
Pacific/Wake UTC+12
Pacific/Wallis UTC+12