2010-04-15 44 views
4

我不明白爲什麼下面的代碼不起作用?SQL:column <>'%TEST%'不起作用,爲什麼?

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

我想有地方列1不包含測試

感謝

+0

你的答案在下面,但是另外,'ORDER BY 1'或者什麼也不會做,或者可能是rando勉強重新排列返回的行。 – oedo 2010-04-15 13:08:35

+0

您需要接受答案! – 2010-05-26 06:40:01

回答

0

%是一個通配符表達式,這大概就是爲什麼所有行;我想你可能會,如果你想要一個文字%,用方括號[%]把它包起來,但我實際上忘記了這是否是答案,如果不是,我會道歉。

如果你想使用它作爲在列沒有在它的文本測試,然後你做:

其中COLUMN1不LIKE「%測試%」

+1

你需要說'Column1不喜歡'%TEST%''。 ......這應該是一個答案,而不是一個評論> _> – 2010-04-15 12:49:16

+0

對不起,它不清楚。我的意思是%在這裏用作通配符表達式。因此,恕我直言,它應該忽略任何包含測試 – Petr 2010-04-15 12:49:21

8

使用LIKE運營商Wildcards %:

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

嘗試

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

您需要說Column1 NOT LIKE '%TEST%'

0

您的意思是使用like?

where Column1 not like '%TEST%'

2

Wildcards%)在SQL應結合LIKE運營商可以使用:

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

如果你想使用通配符,你必須使用LIKE操作:

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

我的天:D當然...對不起,愚蠢的問題,我今天厭倦了它。 – Petr 2010-04-15 12:53:42

相關問題