私のSQLテーブルには列名 AddressName があります。その列に顧客の住所名を格納しています。そして、それらを次の形式で保存したいのですが、最初にその列に値を挿入したときに、次に値を挿入する前にそのフィールドに「Utpal」を保存したとします。「Utpal2」として挿入される次の文字列値をフェッチしたいとします。同様に、次の挿入では、値は「Utpal3」である必要があります。SQL クエリを使用してこのタスクを実行する方法を教えてください。
感謝と敬意
ウトパル マイティ
私のSQLテーブルには列名 AddressName があります。その列に顧客の住所名を格納しています。そして、それらを次の形式で保存したいのですが、最初にその列に値を挿入したときに、次に値を挿入する前にそのフィールドに「Utpal」を保存したとします。「Utpal2」として挿入される次の文字列値をフェッチしたいとします。同様に、次の挿入では、値は「Utpal3」である必要があります。SQL クエリを使用してこのタスクを実行する方法を教えてください。
感謝と敬意
ウトパル マイティ
このようなものがあなたを助けるでしょう。ほんの一例:
テーブル スキーマ:
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をチェックしてください: