2013-05-02 103 views
1

我的SQL表有一個列名AddressName。我將該客戶地址名稱存儲在該列中。我想以下面的格式存儲它們,假設當我第一次插入該列中的一個值時,下一次在該字段中存儲'Utpal'之前插入任何值我想獲取要插入的下一個字符串值'Utpal2 ',並將該值插入到表中。類似地,在下一次插入時,值應該是'Utpal3'。如何使用SQL查詢來完成此任務,請幫助。從SQL表中獲取下一個匹配的字符串值

感謝和問候

Utpal Maity

+2

是你自己嘗試過什麼了嗎? – Edper 2013-05-02 07:35:11

+0

是否有一列存儲輸入的「AddressName」和新創建的「AddressName」? – TechDo 2013-05-02 07:57:53

回答

0

像這樣的事情會幫助你。只是一個例子:

表模式:

create table person 
(
    id int identity(1,1), 
    address varchar(50) 
) 
GO 

SCRIPT:(部分)

--insert second record 
insert into person 
select top 1 left(address, case patindex('%[0-9]%', address) when 0 then len(address) else patindex('%[0-9]%', address) - 1 end) + 
     convert(varchar(10),convert(numeric(10,0),Coalesce(NULLIF(right(address, case patindex('%[0-9]%', address) 
                       when 0 then 0 
                       else len(address) - patindex('%[0-9]%', address) + 1 
                       end 
                    ) 
                   ,'') 
                 ,0) 
           ) + 1 
      )from person 
order by id desc 
GO 

退房SqlFiddle

+0

NeverHopeless嗨,你的查詢將所有的工作地址名稱將存儲使用該value'utpal」如果下面的格式表存儲值,那麼這將不會給慾望結果 地址客戶編號 Utpal 001 Utpal1 001 Maity 001 Utpal2 0001 現在我想插入Utpal3是什麼方式? 謝謝 Utpal – Utpal 2013-05-02 08:40:42

+0

@ user2342089,請檢查我的更新。這可能不是一個簡單的問題,但會完成這項工作 – NeverHopeless 2013-05-02 12:00:17