Удалить всю ячейку, если она содержит определенную строку MS-Access 2016 - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь удалить / заменить все ячейки поля в MS-Access 2016, которые содержат определенную строку (в моем случае "<" & ">").
Это не будет проблемой, если нужно удалить / заменить только саму строку ( Удалить строку внутри ячейки в MS Access ), но я бы хотел удалить / заменить всю ячейку, если критерии встретил Пример:
Поле

<br>I like food
I also like food
Nice to meet you <br>

Результат:


I also like food

Как видите, количество символов, а также количество слов и пробелов варьироваться от клетки к клетке. Единственное, что у них общего, это "<" & ">".


Заранее спасибо!

Ответы [ 3 ]

2 голосов
/ 25 февраля 2020

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

Так вот что вам нужно:

Update YourTable Set YourField = Null Where YourField Like '*<*' And YourField Like '*>*' 

Если вы явно хотите чтобы установить поле в пустую строку, используйте это:

Update YourTable Set YourField = '' Where YourField Like '*<*' And YourField Like '*>*' 
1 голос
/ 25 февраля 2020

Это вернет записи, которые не содержат символ <.

SELECT MyText
FROM Table1
WHERE INSTR(MyText, "<")=0  

это удалит всю запись, где MyText содержит <:

DELETE *
FROM Table1 
WHERE INSTR(MyText, "<")>0  

Возможно, лучше использовать метод LIKE, который использует @UnhandledException, а не INSTR.

0 голосов
/ 25 февраля 2020

что-то вроде этого:

update tablename
set cell = ''
where contains(cell,'<') and contains(cell,'>')

, если содержимое не поддерживается, вы можете использовать

where cell like '*<*' and cell like '*>*'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...