Подтвердить что ты не робот

Проверьте, не содержит ли строка другой строки

В T-SQL, как бы вы проверили, не содержит ли строка ни одну строку?

У меня есть nvarchar, который может быть "Яйца апельсинов".

Я хотел бы сделать обновление, где, например, columm не содержит "Яблоки".

Как это можно сделать?

4b9b3361

Ответ 1

WHERE NOT (someColumn LIKE '%Apples%')

Ответ 2

Или, альтернативно, вы можете использовать это:

WHERE CHARINDEX(N'Apples', someColumn) = 0

Не уверен, какой из них лучше работает - вы должны проверить его!: -)

Марк

UPDATE: производительность, похоже, в значительной степени соответствует другому решению (WHERE someColumn NOT LIKE '% Apples%') - так что это действительно просто вопрос ваших личных предпочтений.

Ответ 3

Используйте это как условие WHERE

WHERE CHARINDEX('Apples', column) = 0 

Ответ 4

Ответы, на которые вы предположили статический текст для сравнения. Если вы хотите сравнить с другим столбцом (например, вы присоединяетесь к двум таблицам и хотите найти те, где столбец из одной таблицы является частью столбца из другой таблицы), вы можете сделать это

WHERE NOT (someColumn LIKE '%' || someOtherColumn || '%')