2016-06-15 1 views
0

col1に保存されたロングアドレスからショートアドレスを抽出するにはどうすればcol2にできますか?SQL Serverでcol1に保存されたロングアドレスからショートアドレスを抽出するには

District ALBERT city CASABLANCA 

私は助けIを必要としてください:私はちょうど私の短いアドレスに必要

District ALBERT numero 1234 city CASABLANCA région de NORTH country MOROOCO . 

:問題は、私は名前に私の長いアドレスの地区と都市

例をしたいです私のcol1に多くの登録がある、私は手動で行うことはできません!私の悪い英語

+1

はアドレスが同じパターンで常にありますか? ' numero .... ' –

+0

はいホルヘ。地区と都道府県 – aziz

答えて

2

でテスト:

update yourTable 
    set col2 = substring(col1,1,(charindex(col1,'numero')-1) 
       + substring(col1, 
          (charindex(col1,'city'), 
          ((charindex(col1,'région')-1)-charindex(col1,'city'))) 
+0

本当にありがとうございます。ありがとうございます – aziz

+0

こんにちはアジズ、私が助けることができてうれしい、それを受け入れることを検討してください。この回答の左側にあるVアイコンをクリックします。 –

0

のため申し訳ありません

は、あなたが使用できるSQL Server 2008の

declare @longAddress varchar(max) 
set @longAddress = 'District ALBERT numero 1234 city CASABLANCA région de NORTH country MOROOCO ' 

--assuming regin follow city 
select CHARINDEX('numero',@longAddress)-- this is how you get position of numero and region 


--do a substring 
select SUBSTRING(@longAddress,1,CHARINDEX('numero',@longAddress)-1) -- get the district 
select SUBSTRING(@longAddress,charindex('city',@longAddress),charindex('région',@longAddress)-charindex('city',@longAddress)) -- get the city 

--combine 
select SUBSTRING(@longAddress,1,CHARINDEX('numero',@longAddress)-1) -- get the district 
+SUBSTRING(@longAddress,charindex('city',@longAddress),charindex('région',@longAddress)-charindex('city',@longAddress)) -- get the city 
+0

申し訳ありませんが、結果を閉じ込めていませんでした。私は – chungtinhlakho

+0

を変更しますので、非常に多くのchungtinhlakhoさんの仕事を完全に良いソリューションありがとう、ありがとう。 – aziz

関連する問題