Есть ли способ проверить, не содержит ли столбец список строк? Моя цель — выяснить, есть ли в столбце FileNm
какие-либо другие типы ниток, кроме яблока, банана или апельсина.
Это не работает, потому что столбцы по-прежнему будут содержать яблоко, апельсин или банан... логика ошибочна.
SELECT *
FROM dbo.File f
WHERE (CHARINDEX('apple', f.FileNm ) = 0
OR (CHARINDEX('orange', f.FileNm ) = 0
OR (CHARINDEX('banana', f.FileNm ) = 0)
Я думаю, что это не сработает, поскольку он будет искать файл, содержащий яблоко, апельсин и банан, что невозможно. Он будет содержать только один из них, но не все.
Нет, это не так, попробуйте.
Замените ИЛИ на И.
SELECT *
FROM dbo.File f
WHERE (CHARINDEX('apple', f.FileNm ) = 0
AND (CHARINDEX('orange', f.FileNm ) = 0
AND (CHARINDEX('banana', f.FileNm ) = 0)
Можно было бы и так написать
SELECT *
FROM dbo.File f
WHERE f.FileNm NOT LIKE '%apple%'
AND f.FileNm NOT LIKE '%orange%'
AND f.FileNm NOT LIKE '%banana%'
заменить ИЛИ на И?