Loading... nvl 函数是什么,是 oracle 数据库里面一个判断是否取出的内容为空值的函数,使用方法为: ```sql nvl(a,b) ``` 其中 a 为要取出的表列,b 为如果 a 为 null 空值的默认值。 但我发现 sqlite3 并没有这个命令,那么 sqlite3 数据库用什么函数来替代它呢? 在 sqlite3 中,可以使用 ifnull 或 IFNULL 来替代,亲测大小写都行。 如 ```sql IFNULL(a,b) ``` 其中 a,b 的解释跟前面是一样的。 但有些数据库语言不是 I**F**NULL 哦,而是 I**S**NULL,注意有一个字母不同,你可以分别都试试看。 还有一个各个数据库都比较通用的强大命令,如果你记不住前面的区别,用这个函数就行(不过单词确实不那么好记,努力记忆吧!)(测了一下好像大写的命令没这个命令,只有小写的): ```sql coalesce(expression,value1[,value2,…valueN]) ``` 它的强大之处在于,不一定只能填入两个参数,首先判断 expression 表达式(也可以是某一列)是否能取到非 NULL 值,如果为取得到就返回 expression 的值,如果为 NULL,则往下一个个判断第一个非 NULL 值返回。如果全部为 NULL,返回 NULL。 这个函数当然 sqlite3 也是支持的,很不错,快来试试吧! 感谢大家的收看,我们下期再见! 最后修改:2021 年 08 月 18 日 © 允许规范转载 赞 赠人玫瑰,手留余香