2016-11-17 46 views
1

我想跳過MySQL中的空白數據。排除某些字段的NULL或EMPTY值

我的示例查詢將不工作:

SELECT * FROM burger WHERE mayonnaise=1 AND pickle<>'.$yon.' AND ketchup IS NOT NULL AND ketchup<> '' ORDER BY RAND() LIMIT 5 

我想跳過被存儲爲空白數據。

id  mayonnaise pickle ketchup   
1  1    y 
2  1    n  1 
3  1    y 
4  1    y 
5  1    y  1 
+0

你有空格,有沒有可能?你可以嘗試'番茄醬不是空和TRIM(番茄醬)<>''' –

回答

-1

嘗試正則表達式:SELECT * FROM burger WHERE mayonnaise=1 AND pickle<>'.$yon.' AND ketchup REGEXP '[0-9]+' ORDER BY RAND() LIMIT 5,假設ketchup只有數值。這也會過濾掉非數字(和小數)的值,所以取決於ketchup的數據類型。

1

我會做以下同時處理Null和空值:

trim(coalesce(ketchup, ''))<>''