2017-02-26 66 views
0

我有一个表名 - UserData及其包含一个列名 -
UserInfo。T-SQL语句

的UserInfo列包含下列值喜欢

demo.acc.in

swiss.com.au

austa.edu.co

我想从中提取了以下信息...

Output Output  

acc  in 
com  au 
edu  co 

在此先感谢帮助

+0

您已经**刚才问**这同一个问题,只有** 3小时前** - **请不要**遍地转贴同样的问题,再次! –

回答

0

对于本示例,您可以使用parsename()

select parsename(UserInfo,2), parsename(UserInfo,1) 

注意parsename()从右至左读,所以从左至右读操作时的第一个元素是最后一个元素。

rextester:http://rextester.com/FUGXQ46552

create table t (UserInfo varchar(32)) 
insert into t values 
('demo.acc.in') 
,('swiss.com.au') 
,('austa.edu.co') 
,('sqlzim.austa.edu.co') 

select 
    p1=parsename(UserInfo,1) 
    , p2=parsename(UserInfo,2) 
    , p3=parsename(UserInfo,3) 
    , p4=parsename(UserInfo,4) 
from t 

+----+-----+-------+--------+ 
| p1 | p2 | p3 | p4 | 
+----+-----+-------+--------+ 
| in | acc | demo | NULL | 
| au | com | swiss | NULL | 
| co | edu | austa | NULL | 
| co | edu | austa | sqlzim | 
+----+-----+-------+--------+