NVL函数,IFNULL函数和ISNULL函数有什么区别?
这三个功能以相同的方式工作。这些函数用于将NULL值替换为另一个值。Oracle开发人员使用NVL函数,MySQL开发人员使用IFNULL函数,而SQL Server开发人员使用ISNULL函数。
假设列中的某些值是NULL。
如果在下面的语句中运行,则结果为NULL
SELECT col1 * (col2 + col3) FROM Table1
假设col3中的任何值为NULL,那么正如我所说的,您的结果将为NULL。
为了克服这个问题,我们使用NVL()函数,IFNULL()函数,ISNULL()函数。
甲骨文:
SELECT col1 * (col2 + NVL(col3,0)) FROM Table1 MySQL: SELECT col1 * (col2 + IFNULL(col3,0)) FROM Table1 另外,您可以使用COALESCE()函数 SELECT col1 * (col2 + COALESCE(col3,0)) FROM Table1 SQL Server: SELECT col1 * (col2 + ISNULL(col3,0)) FROM Table1