排除某些字段的NULL或EMPTY值

时间:2016-11-17 22:26:21

标签: mysql

我想在MySQL中跳过空白数据。

我的示例查询无效:

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  

2 个答案:

答案 0 :(得分:1)

我会执行以下操作来处理Null和空值:

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

答案 1 :(得分:-1)

尝试正则表达式:SELECT * FROM burger WHERE mayonnaise=1 AND pickle<>'.$yon.' AND ketchup REGEXP '[0-9]+' ORDER BY RAND() LIMIT 5,假设ketchup只有数字值。这也会过滤掉非数字(和小数)的值,因此取决于ketchup的数据类型。