0
Я работаю над SQL Server 2008. Предположим, что следующий столбец.Оператор обновления для обновления части длины столбца
column1
cjd.001 306.1
cjd.001 306.2
cjd.001 306.R
Теперь я хочу заменить все '.' с '-'. Но только с первой строки, то есть перед пробелом или ниже 8 символов. Остальное поле должно оставаться таким же.
SampleOutput
cjd-001 306.1
cjd-001 306.2
cjd-001 306.R
Я попытался выполнить запрос, но он заменяет все «.».
UPDATE dbo.table
SET column1 = REPLACE(column1, '.', '-')
Я хочу знать, что я могу использовать в where clause? Пробовал использовать функцию подстроки, но это не сработало.
Очевидно, что вы должны разделить вашу строку на две части и изменить только первую часть. Поэтому начните с попытки найти позицию, где нужно разбить строку. Затем используйте SUBSTRING соответственно, затем ЗАМЕНИТЕ, а затем снова соедините две части. –
Всегда ли это один символ на четвертой позиции, который вы в конечном итоге замените? Как в вашем примере данные? –
Может ли место находиться в положении 1, и если да, то оно предотвратит замену вообще или оно будет проигнорировано или даже удалено? –