2016-06-16 5 views
0

Как именно заменить что-либо с помощью подстановочных знаков?SQL Server: как обновлять и заменять подстановочными знаками

Я пытался с этим, но он не работает

UPDATE [dbo].[test] 
SET [Fælge] = REPLACE([Fælge],'%ET%%%','') 

Я хочу, чтобы все ГЭ ** быть пустым

Мои данные выглядит следующим образом, и это идет от 4-12x10-24 ET0-99 плюс половина как (4.5x13 ET35.5)

6x15 ET0|6.5x16 ET55|6x16 ET50|7x17 ET60|7x17 ET65 

мои данные сгруппированы и подсчитаны my data grouped

я хочу как ЕТ и цифры, чтобы быть пустым, так что данные просто выглядит

6x15 |6.5x16 |6x16 |7x17 |7x17 
+0

Вы хотите очистить только ПОЧЕМУ символы «ET»? Можете ли вы также показать ожидаемые результаты? – JiggsJedi

+0

Также проверьте здесь https://stackoverflow.com/questions/21378193/regex-pattern-inside-sql-replace-function – JiggsJedi

+0

Я хочу, чтобы t ET и цифры были пустыми, поэтому данные выглядят как '6x15 | 6.5x16 | 6x16 | 7x17 | 7x17 ' –

ответ

0

я буду считать, что выборочные данные, предоставленные индицирует несколько строк. Вы можете сделать это довольно легко, используя LEFT и CHARINDEX.

if OBJECT_ID('tempdb..#Something') is not null 
    drop table #Something 

create table #Something 
(
    SomeValue varchar(50) 
) 

insert #Something(SomeValue) values 
('6x15 ET0'), 
('6.5x16 ET55'), 
('6x16 ET50'), 
('7x17 ET60'), 
('7x17 ET65') 

update #Something 
set SomeValue = rtrim(LEFT(SomeValue, CHARINDEX('ET', SomeValue) - 1)) 

select * 
from #Something 
+0

, чтобы удалить все ET и номера? и я должен был бы ввести ('6x15 et0'), ('6.5x16 ET55'), ('6x16 ET50'), ('7x17 ET60'), ('7x17 ET65') У меня есть записи 27 тыс., которые имеют разную комбинацию 4-12x10-24 ET0-99 плюс некоторые с десятичной цифрой , так что это был бы длинный список –

+0

Нет, вам не нужно вводить все значения. Я сделал это, потому что вы не предоставили нам выборочные данные в расходуемом формате. Эти значения просто вставляются в таблицу temp. Все, что вам понадобится, это инструкция обновления. Однако теперь, когда вы разместили «данные образца», кажется, мои худшие опасения оказались правильными. У вас денормализованные данные с несколькими значениями в одном кортеже. Это нарушает 1NF и приведет вас к невыразимому количеству боли в течение всего срока службы этой системы. –

Смежные вопросы