2016-09-23 4 views
0

Я хочу удалить нежелательные данные в моей записи, но мой запрос неправильный. Кто-нибудь может мне помочь, пожалуйста?? Я хочу сохранить такие записи, как «X | D_1234», «X | D_8743» & «X | D_0588», и я хочу удалить записи, подобные этому «nmy name is mary». & «моему возрасту 22 года».Удаление нежелательных данных в SQL Server

delete from dbo.[MEOW] 
where (STUDENT_ID NOT LIKE 'X|D_') 
+1

'НЕ НРАВИТСЯ«X | D [_] % '' – ZLK

+0

Почему мне нужно поставить [] между _? – meow

+2

Потому что символы подчеркивания являются подстановочными символами в операторах 'LIKE'. например 'SELECT 1 WHERE 'asdf' LIKE 'a__f'' работает. Использование квадратных скобок говорит SQL проверить фактическое подчеркивание, а не подстановочный знак. EDIT: Если, например, вы хотели удалить «X | D1234», потому что у него нет символа подчеркивания, вам нужно будет поместить знак подчеркивания в квадратные скобки (или использовать «ESCAPE'). – ZLK

ответ

0

Вы можете найти их, как показано ниже

delete from dbo.[MEOW] 
    WHERE STUDENT_ID NOT LIKE '%[a-z0-9]%' 
0

Просто вы можете можете сделать это с как команды в запросе, как этот

delete from dbo.[MEOW] where STUDENT_ID not like 'X|D_%' 
---X|D_% will match from starting position 
---%X|D_ will match from ending position 
---%X|D_% will match in whole 
Смежные вопросы