Отдельный город, штат и почтовый индекс от адреса SQL - PullRequest
0 голосов
/ 22 июня 2011

Я должен отделить название города и почтовый индекс от столбца адреса, который выглядит следующим образом.

Иногда название города может отсутствовать или указываться штат или почтовый индекс.

Иногда в столбце «Адрес» указываются только город, штат и почтовый индекс.

Пожалуйста, помогите мне решить эту проблему.

Adress                           
PO BOX 28087 RALEIGH, NC 27611      
PO BOX 671 NASHVILLE, TN 37202    

Ответы [ 2 ]

0 голосов
/ 23 июня 2011
declare @Cities varchar(200)
declare @Count int
declare @Adress varchar(52)
set @Adress = '5129 TWISTED WILLOW CREEDMOOR NC'
declare @i int
set @i = 0
declare @j int
set @j = 1
set @Count = 0
declare @city varchar(20)
set @city = '' 
set @Cities = 'RALEIGH.CARY.FOUR OAKS.CREEDMOOR'
while(@i < =LEN (@cities))
begin
  if(SUBSTRING(@cities,@i,1) = ',')
  set @count = @count+1
     set @i = @i+1
end
while(@j <=5)
begin
declare @s varchar(20)
set @s = PARSENAME(@cities,@j)
  if(PATINDEX('%'+@s+'%',@Adress ) >0)
  set @city = PARSENAME(@cities,@j)

  set @j = @j +1
end


select @city 

Я нашел решение выше, но я должен добавить все названия городов в строку @cities.Есть ли другой способ сделать это легко?

0 голосов
/ 22 июня 2011

Амрута, пожалуйста, укажите, указан ли этот адрес в текстовой форме, или у вас есть своего рода поле формы для ввода этих ...

В любом случае, если он в текстовой форме, я имею ввидуполя объединяются в одну строку, тогда SQL не поможет.Для этого вы должны использовать какой-нибудь скрипт для извлечения текста (например, perl, awk).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...