mysql内置的ifull函数可以用在查询时候为NULL值字段给一个默认值,例如: select ifnull(col1, 'default-value'), col2 from test; 当test表的col1字段为NULL时,数据库返回的结果就为default-value,否则就返回本身的值。但是当col1字段的值为空字符串(”
mysql内置的ifull函数可以用在查询时候为NULL值字段给一个默认值,例如:
select ifnull(col1, 'default-value'), col2 from test;
当test表的col1字段为NULL时,数据库返回的结果就为default-value,否则就返回本身的值。但是当col1字段的值为空字符串(”),由于空字符不是NULL,因此返回的结果还是空字符串。如果需要把空字符串或NULL值都用default-value代替,显然ifnull是不行,不过使用case when语句能搞定,示例如下:
select c1, (case when c2 = '' or c2 is null then 'default-value' else c2 end) from test;
原文地址:mysql ifnull, 感谢原作者分享。