1

私のSQLテーブルには列名 AddressName があります。その列に顧客の住所名を格納しています。そして、それらを次の形式で保存したいのですが、最初にその列に値を挿入したときに、次に値を挿入する前にそのフィールドに「Utpal」を保存したとします。「Utpal2」として挿入される次の文字列値をフェッチしたいとします。同様に、次の挿入では、値は「Utpal3」である必要があります。SQL クエリを使用してこのタスクを実行する方法を教えてください。

感謝と敬意

ウトパル マイティ

4

1 に答える 1

0

このようなものがあなたを助けるでしょう。ほんの一例:

テーブル スキーマ:

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

スクリプト: (部分)

--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をチェックしてください:

于 2013-05-02T08:27:54.907 に答える