2012-01-30 5 views
2

Привет У меня есть проблемаSQL Удаление/Замена части строки

У меня есть столбец данных в виде строки в следующем формате:

xxxxxxxx <***********> 

Я хочу, чтобы относиться к xxxxxxx, но избавиться от <***********>, где <***********> может быть любой строкой любой длины.

У меня есть эта команда до сих пор, но я наклоняю голову вокруг остальной части.

update Claims 
set ClaimInitiatedBy = REPLACE(ClaimInitiatedBy,LIKE '% <%>','') 
where ClaimInitiatedBy LIKE '% <%>' 

Эта команда не работает, и я знаю, что это связано с 2-м параметром в функции REPLACE. Какой должен быть второй параметр для этого?

Я использую SQL Server 2008, если это имеет значение.

Спасибо за помощь.

+0

использовать вместо этого подстроку. – AJP

+0

Вы видели эту ссылку? http://msdn.microsoft.com/en-us/library/ms173746.aspx –

ответ

3
declare @s as varchar(50) 
set @s = 'axxxxxxxx <*****>' 
select substring(@s, 1, charindex('<', @s) - 1) 

Выход:

axxxxxxxx 
+0

спасибо за быстрый ответ. Это работало. Я должен был сделать это обходное решение, чтобы заставить его работать, хотя 'select substring (@s, 1, charindex ('<', @s))' с пробелом перед <и убиранием -1, поскольку это давало sql двигатель подходит по любой причине. В любом случае, спасибо! – Drake0727

0

попробовать этот

ВЫБЕРИТЕ REPLACE ('abcdefghicde', 'CDE', 'ххх');

вернется abxxxfghixxx

Аргументы:

REPLACE (строковое_выражение, string_pattern, string_replacement)

строковое_выражение

Is the string expression to be searched. string_expression can be of a character or binary data type. 

string_pattern

Is the substring to be found. string_pattern can be of a character or binary data type. string_pattern cannot be an empty string (''). 

string_replacement

Is the replacement string. string_replacement can be of a character or binary data type. 
Смежные вопросы