SQL:列<> '%TEST%'不起作用,为什么?

时间:2010-04-15 12:45:15

标签: sql

我不明白为什么以下代码不起作用?

SELECT [column1], [column2]
FROM table where Column1 <> ('%TEST%')
ORDER BY 1

我想拥有Column1不包含TEST的所有行

由于

7 个答案:

答案 0 :(得分:8)

LIKE运算符与Wildcards%:

一起使用
SELECT [column1], [column2] 
FROM table 
WHERE Column1 NOT LIKE ('%TEST%') 
ORDER BY 1

答案 1 :(得分:6)

如果要使用通配符,则必须使用LIKE运算符:

SELECT [column1], [column2]
FROM table where Column1 NOT LIKE '%TEST%'
ORDER BY 1

答案 2 :(得分:2)

SQL中的

Wildcards%)应与LIKE运算符一起使用:

SELECT [column1], [column2]
FROM table where Column1 NOT LIKE ('%TEST%')
ORDER BY 1

答案 3 :(得分:1)

SELECT [column1], [column2]
FROM table where Column1 NOT LIKE '%TEST%'
ORDER BY 1

答案 4 :(得分:0)

%是一个通配符表达式,这可能就是原因;我想你可以,如果你想要一个文字%,用方括号[%]包裹它,但我实际上忘了如果这是答案,如果不是则道歉。

如果您想将其用作列中没有文本测试的地方,那么您可以:

其中column1不喜欢'%Test%'

答案 5 :(得分:0)

你需要说Column1 NOT LIKE '%TEST%'

答案 6 :(得分:0)

您的意思是使用吗?

where Column1 not like '%TEST%'