2016-08-09 2 views
1

У меня есть приведенные ниже данные образца, и я хотел бы удалить слово «Отдел» из набора данных.SQL Server 2008 - Удаление символов из нескольких строк

Таблица A:

Central Division 
North Division 
East Division 
+1

Это не просто заявление REPLACE? Вы ожидали, что первая строка будет полностью удалена или просто превращена в пустую строку? Что относительно символа пробела, предшествующего «Дивизии» в других трех примерах, будет ли это сохранено или удалено? – Bridge

+0

Так что 3 строки? Является ли слово, которое вы хотите удалить всегда последним? Известна ли его длина? –

+0

Я обновил свой вопрос, чтобы удалить «Отдел» в качестве значения. Это имя таблицы. Да, мне также хотелось бы, чтобы космический персонаж тоже был удален. – Toby

ответ

2

Вы можете ищете простой констатации обновление

Update T 
Set ColumnName=RTRIM(REPLACE(ColumnName,'Division','')) 
FROM TableName t 
WHERE ColumnName like '%Division%' 
0

Вы можете использовать это:

Update A 

Set ColumnName=Ltrim(REPLACE(ColumnName,'Division','')) FROM TableName A WHERE ColumnName like '%Division%'

Или нуль:

Update A 
Set Column = Null 
Where Column Like '%Division%' 
0

Отдел является последним словом по каждому значению

Поскольку слова всегда в конце, и фиксированной длины, лучший способ это просто отрубить последние 9 символов:

update t set fld = left(fld, len(fld) - 9) 
0

что делать все задания для вы- Удаление всех «дивизию» от SAMP le table.

DECLARE @Table Table 
(
    nameOfColumn VARCHAR(100) 
) 

INSERT INTO @Table VALUES 
('Central Division'), 
('North Division'), 
('East Division') 


UPDATE @Table 
SET nameOfColumn = REPLACE(nameOfColumn,' Division','') 
FROM @Table 

SELECT * FROM @Table 
Смежные вопросы