В T-SQL, как бы вы проверили, не содержит ли строка ни одну строку?
У меня есть nvarchar, который может быть "Яйца апельсинов".
Я хотел бы сделать обновление, где, например, columm не содержит "Яблоки".
Как это можно сделать?
Ответ 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 || '%')