获取时间表单时区列

Getting time form time zone column

我有一个具有用户文化的用户 table。我需要从时间文化中获取时间。供参考,请在下面找到 table.

           UserCulture 
------------------------------------------
(UTC-12:00) International Date Line West
(UTC-08:00) Baja California
(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore
(UTC+08:00) Kuala Lumpur, Singapore

如果是吉隆坡、新加坡,我想输出“+8:00”

如果这只是一个 varchar 列,那么这可以工作:

DECLARE @t TABLE(TimeZone NVARCHAR(max))

INSERT INTO @t VALUES
('(UTC-12:00) International Date Line West'),
('(UTC-08:00) Baja California'),
('(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi'),
('(UTC+08:00) Kuala Lumpur, Singapore')


SELECT TimeZone, SUBSTRING(timezone, 5, 6) AS Time FROM @t

输出:

TimeZone                                         Time
(UTC-12:00) International Date Line West         -12:00
(UTC-08:00) Baja California                      -08:00
(UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi  +05:30
(UTC+08:00) Kuala Lumpur, Singapore              +08:00