Подтвердить что ты не робот

Удаление одного символа из поля varchar SQL Server 2008

У меня есть таблица с несколькими столбцами varchar, которые почти идентичны первичным ключам, которые у меня есть в другой таблице, за исключением периода (.). Я просмотрел функцию replace в T-SQL, но первый аргумент не является выражением. Как удалить все вхождения определенного символа с помощью SQL? Кажется, правильный ответ может заключаться в замене нулевой строкой длины. Это близко?

Кто бы ни чувствовал, что этот вопрос не проявлял исследовательских усилий, это было главным образом из-за непонимания самой документации.

4b9b3361

Ответ 1

Вы можете обновить таблицу напрямую, используя REPLACE для значений столбца:

UPDATE myTable
SET myColumn = REPLACE(myColumn, '.', '')

Ответ 2

update your_table
set some_column = replace(some_column, '.', '')

Ответ 3

Вы хотите удалить все экземпляры. из строки? Если это так, вы были правы около REPLACE:

DECLARE @Example TABLE
(
    Value VARCHAR(100)
)
INSERT @Example (Value)
VALUES ('Test.Value'), ('An.otherT.est')

SELECT
    REPLACE(Value, '.', '')
FROM
    @Example

-- Replace only the first '.'
SELECT
    STUFF(Value, CHARINDEX('.', Value, 0), 1, '')
FROM
    @Example

Измените, сделав пример немного более полезным, так как я все равно играл с ним, я мог бы также опубликовать этот пример.:)