2012-12-10 87 views
-2

我嘗試搜索我的網站。例如:有字段名=城市,如果城市是空的我的查詢如下:SELECT * FROM TABLE WHERE CITY = ALL;MySQL QUERY條件

我不知道該怎麼寫:CITY = ALL正確,表達CITY is not null將是複雜的,因爲我要刪除=

回答

1

試試這個:

SELECT * 
FROM Table 
WHERE @SearchParam IS NULL OR City = @SearchParam 

如果他的參數@SearchParam傳遞給查詢與NULL值,那麼將返回所有的數據表,否則將搜索與此參數的城市。

1

刪除where完全

SELECT * FROM TABLE 

SELECT * FROM TABLE WHERE CITY = @searchstring or @searchstring is null; 
+0

我不能做到這一點,我只能使用變量 – Wizard

0

如果你把它們全部取出,爲什麼要有WHERE條款呢?

SELECT * FROM TABLE

注意,應避免使用SELECT *只要有可能。由於這是浪費資源,請務必清楚返回您的列。

+0

,因爲其他字段,不是空 – Wizard

+0

然後不包括'在你的WHERE條款中的城市?你的問題在你實際擁有的東西和你真正想要的東西中是非常模糊的。 – Jeremy1026

+0

有很多領域(搜索cryteriuos)如果cryteriaus領域之一是空的必須例如:'在哪裏城市所有和郎=東西和某事=東西1;'' – Wizard

0

也許是這樣的?

SELECT * FROM TABLE WHERE (CITY = SOMETHING) OR (SOMETHING is null); 
1

如果你不關心非常優化的查詢,你可以使用一個像運營商,

City like '%@exp' 

比較如果Exp空的查詢返回的所有城市。

我個人不推薦這種:)

所有最優秀的