1

如何查询mysql中字段不为空或为空的所有记录?

比如下面,有的 products_name 为空,有的为 null,如何获取其他的 has values 记录? 在此处输入图像描述

-- ----------------------------
-- Table structure for `a`
-- ----------------------------
DROP TABLE IF EXISTS `a`;
CREATE TABLE `a` (
  `products_id` int(11) NOT NULL,
  `products_name` varchar(255) default NULL,
  PRIMARY KEY  (`products_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of a
-- ----------------------------
INSERT INTO `a` VALUES ('1', 'hello');
INSERT INTO `a` VALUES ('2', '222');
INSERT INTO `a` VALUES ('3', null);
INSERT INTO `a` VALUES ('4', '');
INSERT INTO `a` VALUES ('5', '5555');
4

2 回答 2

3

你可以简洁地表达为:

SELECT * FROM a
WHERE ifnull(products_name, '') != ''
于 2013-10-12T08:53:19.797 回答
3

你可以这样做:

SELECT * FROM `a` WHERE `products_name` IS NOT NULL AND `products_name` != '';
于 2013-10-12T08:26:44.893 回答