我有一个表contact_add。我有一个列包含的城市(MANGALORE-575001)我想要一个查询来拆分SQL服务器中的City和Pincode。如果子串表达式,必须给出开始和长度,这可能因每个城市而不同
实施例
Mangalore-123456
Kannur-6542
kochi-78954
Goa-12
我想要一个查询将名称和密码分成两列,如下所示
city Pincode
--------- -------
Mangalore 123456
Kannur 6542
Kochi 78954
Goa 12
答案 0 :(得分:2)
尝试这个:
SELECT
CASE WHEN CHARINDEX('-',city)>0 THEN SUBSTRING(city,1,CHARINDEX('-',city)-1)
ELSE city end City,
CASE WHEN CHARINDEX('-',city)>0 THEN SUBSTRING(city,CHARINDEX('-',city)+1,len(city))
ELSE NULL END as pincode
FROM Contact_add
city =第2行的列名
答案 1 :(得分:0)
试试这个......
select substring('MANGALORE-575001',0,CHARINDEX('-','MANGALORE-575001')), substring('MANGALORE-575001',CHARINDEX('-','MANGALORE-575001')+1,len('MANGALORE-575001'))