如何在T-SQL中拆分地址字符串?

1 t-sql sql-server string

我想根据列将列拆分为4列.

例如:列值包括'City_Name','State',Zipcode','Country'

我想把它分成4个不同的列City_Name,State,Zipcode,Country.

我怎么能用T-SQL做到这一点?

SQL*_*ace 7

假设您在该列中始终有3个逗号,则可以使用PARSENAME函数

create table #test(Col varchar(100))
insert #test values('City_Name,State,Zipcode,Country')
insert #test values('New York City,NJ,10028,United States')


select parsename(replace(Col,',','.'),4) as City_Name,
parsename(replace(Col,',','.'),3) as State,
parsename(replace(Col,',','.'),2) as Zipcode,
parsename(replace(Col,',','.'),1) as Country
from #test
Run Code Online (Sandbox Code Playgroud)

产量

City_Name   State   Zipcode Country
New York City   NJ  10028   United States
Run Code Online (Sandbox Code Playgroud)