MySQL IFNULL函数 在查询中判断

查询结果如果不存在可以在sql中直接对结果进行判断赋值,避免查询出结果后采用后端语言进行判断再处理。

采用方法是MySQL ifnull方法。

IFNULL(expression_1,expression_2)

解释: 如果expression_1不为NULL,则IFNULL函数返回expression_1; 否则返回expression_2的结果。

举例:1.做判断赋值

SELECT 
    contactname, IFNULL(bizphone, homephone) phone
FROM
    contacts;

解释: 如果表格中的字段 “bizphone” 不存在,则会返回 “htmephone” 的值,如果存在,则返回 “bizphone” 值。

举例:2.做查询判断赋值(其中ifnull 的两个参数可以sql)

SELECT *,IFNULL((SELECT field FROM table_1 WHERE field = qualification ),"") as field_value
FROM table_2

解释: 如果查询表1的字段为空则会返回条件2的空,否则就会返回表1的字段值。当然条件2也可以是一条sql。

你可能感兴趣的:(mysql)