mssql データベースがあり、次のようなデータを持つデータベース フィールドを更新しようとしています。
1111-2222-3333-4444
すべてのレコードを調べて、最初の 3 セットの数字を変更し、最後の 1 セットを残します。
したがって、更新後はすべて0000-0000-0000-4444になり、4444が以前のものになります。
これどうやってするの?
mssql データベースがあり、次のようなデータを持つデータベース フィールドを更新しようとしています。
1111-2222-3333-4444
すべてのレコードを調べて、最初の 3 セットの数字を変更し、最後の 1 セットを残します。
したがって、更新後はすべて0000-0000-0000-4444になり、4444が以前のものになります。
これどうやってするの?
すべての行がまったく同じ形式で、最初の 3 つの文字グループを各行でまったく同じ値に変更したい場合は、次のようになります。
update tblToUpdate
set columnToUpdate = '0000-0000-0000-' + right(columnToUpdate , 4)
あまりにもクレイジーなことをする前に、必ずそのテーブルのバックアップを作成してください!
create table tmp (a varchar(32))
insert into tmp values ('1111-2222-3333-4444')
GO
select '0000-0000-0000-' + substring(a, 16, 4)
from tmp