2015-01-05 2 views

ответ

1

Попробуйте это:

declare @t table (company varchar(100)); 

insert into @t values('IBM India Limited') 
insert into @t values('IBM US Limited') 
insert into @t values('TATA UK Limited') 

select 
    case when CHARINDEX(' ',company)>0 
     then SUBSTRING(company,1,CHARINDEX(' ',company)-1) 
     else company end companyName, 
    CASE WHEN CHARINDEX(' ',company)>0 
     THEN SUBSTRING(company,CHARINDEX(' ',company)+1,len(company)-12) 
     ELSE NULL END as CountryName 
from @t; 

Результат:

companyName  CountryName 
--------------------------- 
IBM    India 
IBM    US 
TATA   UK 
2

Использовать Parsename трюк для этого.

SELECT Parsename(Replace(Columnname, ' ', '.'), 3) Company, 
     Parsename(Replace(Columnname, ' ', '.'), 2) Country 
FROM tablename 
Смежные вопросы