COALESCE的使用

在做数据库查询时经常会遇到某字段为""或者是NULL的情况,之前每次都是要拿出来在页面上展示时单独对null进行处理,或者在VO里面进行判空操作,略为不便。直到今天发现了一个SQL函数COALESCE,记录下来备用。
语法是这样的:
    COALESCE ( expression [ ,...n ] )
大体解释,当所有表达式值为null时,函数返回null。也就是说,表达式中只要有一个非null,函数就会返回这个非null的值。
来个栗子。
    SELECT COALESCE(field,0) FROM tablename
field为表中某字段,当然这个字段的值是有可能为NULL的。当取到field为null时,函数会自动返回表达式中的非null值,也就是0。这样就自动完成字段值为null时的替换,当然0可以是任何值,也可以是另一个字段比如这样。
    SELECT COALESCE (field1,field2,field3,0) FROM tablename
当第一个字段为null时,向后找第二个字段,如果第二个字段也是null,向后找第三个字段,如果都为null,则返回非null值0

你可能感兴趣的:(SQL)