sqlite3 用什么替代oracle的nvl函数?

avatar 2020年1月19日19:41:59 评论 1,351

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

nvl函数是什么,是oracle数据库里面一个判断是否取出的内容为空值的函数,使用方法为:

nvl(a,b)

其中a为要取出的表列,b为如果a为null空值的默认值。

但我发现sqlite3并没有这个命令,那么sqlite3数据库用什么函数来替代它呢?

在sqlite3中,可以使用ifnull或IFNULL来替代,亲测大小写都行。

IFNULL(a,b)

其中a,b的解释跟前面是一样的。

但有些数据库语言不是IFNULL哦,而是ISNULL,注意有一个字母不同,你可以分别都试试看。

还有一个各个数据库都比较通用的强大命令,如果你记不住前面的区别,用这个函数就行(不过单词确实不那么好记,努力记忆吧!)(测了一下好像大写的命令没这个命令,只有小写的):

coalesce(expression,value1[,value2,...valueN])

它的强大之处在于,不一定只能填入两个参数,首先判断expression表达式(也可以是某一列)是否能取到非NULL值,如果为取得到就返回expression的值,如果为NULL,则往下一个个判断第一个非NULL值返回。如果全部为NULL,返回NULL。

这个函数当然sqlite3也是支持的,很不错,快来试试吧!

 

 

感谢大家的收看,我们下期再见!

avatar

发表评论

您必须才能发表评论!