文字「。」を削除する必要がある状況があります。特定のテーブルの一意性制約を持つ VARCHAR から。カスタム アプリケーション コードよりも SQL でこれを行うことをお勧めします。変更を行うロジックはありますが、VARCHAR の一意性制約を克服する方法に苦労しています。
これが私のテストテーブルです:
CREATE TABLE [dbo].[TableName] (
[TableNameID] INT IDENTITY (1, 1) NOT NULL,
[TableInfo] VARCHAR (128) NOT NULL,
CONSTRAINT [unq_TableName] UNIQUE NONCLUSTERED ([TableInfo] ASC)
)
(一意性制約を処理せずに) 置換を行うためのロジックは次のとおりです。
UPDATE TableName
SET TableInfo = REPLACE(TableInfo, '.', '_')
WHERE TableInfo LIKE '%.%'
次のデータセットで作成したテストを克服しようとしています:
TableNameID | TableInfo
-------------------------
1 | Test
2 | Test.
3 | Test_
4 | Test__
これについての助けをいただければ幸いです。