查询以分隔句子中的单词

时间:2014-11-03 11:44:16

标签: sql sql-server

我需要查询从表格中的句子中分隔单词

例如  在我的表中,我有一个专栏(地方)..

地方包含值

INDIA | Tamilnadu |chennai 
India |andhra |hyderabad 

所以我需要一个查询来将三个东西放入由分隔符

分隔的不同列中

2 个答案:

答案 0 :(得分:2)

数据库因解析字符串的能力而闻名。有些数据库的功能比其他数据库更好例如,在MySQL中,您可以这样做:

select substring_index(place, '|', 1) as place1,
       substring_index(substring_index(place, '|', 2), '|', -1) as place2,
       substring_index(substring_index(place, '|', 3), '|', -1) as place3

但是,其他数据库不支持substring_index(),但有些数据库具有类似的功能。

答案 1 :(得分:1)

你也可以通过这种方法实现同样的目的。

declare @String1 varchar(200);
set @String1 = 'www|eee|rrr';

select PARSENAME(REPLACE(@String1,'|','.'),3) 'First_Place'

select PARSENAME(REPLACE(@String1,'|','.'),2) 'Second_Place'

select PARSENAME(REPLACE(@String1,'|','.'),1) 'Third_Place'