2015-04-02 135 views
0

我有一个用户文化的用户表。我需要从时间文化中获得时间。参考请查看下表。获取时间格式的时区列

  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” 如果是吉隆坡,新加坡

+0

它是一列还是用逗号分隔的值? – 2015-04-02 07:29:15

回答

1

如果这仅仅是一个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