У меня есть это заявление для обновления ниже, есть ли способ сделать его лучше? Я не знаю, если это займет много времени, чтобы вычислить в сравнении с решениями там.Как я могу сделать этот оператор обновления SQL Server лучше?
update TableName
set
ColumnTwoName = REPLACE(LTRIM(RTRIM(ColumnOneName)),'(',' '),
ColumnTwoName = REPLACE(ColumnTwoName,')',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'+',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'*',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'&',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'@',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'|',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'/',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'!',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'.',' '),
ColumnTwoName = REPLACE(ColumnTwoName,',',' '),
ColumnTwoName = REPLACE(ColumnTwoName,':',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'£',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'?',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'''',''),
ColumnTwoName = REPLACE(ColumnTwoName,'-',' '),
ColumnTwoName = REPLACE(ColumnTwoName,']',' '),
ColumnTwoName = REPLACE(ColumnTwoName,'%',' '),
ColumnTwoName = REPLACE(ColumnTwoName,' ',' '),
ColumnTwoName = REPLACE(ColumnTwoName,' ',' '),
ColumnTwoName = REPLACE(LTRIM(RTRIM(ColumnTwoName)),' ','-'),
ColumnTwoName = REPLACE(ColumnTwoName,'--','-'),
ColumnTwoName = LOWER(ColumnTwoName)
where ColumnTwoName is null or ColumnTwoName = ''
Это недопустимый синтаксис и не будет работать. Вы не можете обновлять один и тот же столбец более одного раза в одном заявлении об обновлении. Вместо этого вы должны вложить свои операторы замещения. –