📜  SQL |空函数

📅  最后修改于: 2022-05-13 01:55:38.867000             🧑  作者: Mango

SQL |空函数

以下是 SQL 中定义的 NULL 函数:

  1. ISNULL(): ISNULL函数在 SQL Server 和 MySQL 中有不同的用途。在 SQL Server 中,ISNULL()函数用于替换 NULL 值。
    句法:
    SELECT column(s), ISNULL(column_name, value_to_replace)
    FROM table_name;

    例子:
    考虑以下 Employee 表,

    查询:求所有Employee的salary之和,如果没有某个员工的Salary(或NULL值),则使用salary为10000。

    SELECT SUM(ISNULL(Salary, 10000) AS Salary
    FROM Employee;

    输出:

    在 MySQL 中,ISNULL()函数用于测试表达式是否为 NULL。如果表达式为 NULL,则返回 TRUE,否则返回 FALSE。
    句法:

    SELECT column(s)
    FROM table_name
    WHERE ISNULL(column_name);

    例子:
    考虑以下 Employee 表,

    查询:获取表中工资可用的所有员工的姓名(非NULL)。

    SELECT Name
    FROM Employee
    WHERE ISNULL(Salary);

    输出:

  2. IFNULL():此函数在 MySQL 中可用,在 SQL Server 或 Oracle 中不可用。这个函数有两个参数。如果第一个参数不为 NULL,则函数返回第一个参数。否则,返回第二个参数。此函数通常用于将 NULL 值替换为另一个值。
    句法:
    SELECT column(s), IFNULL(column_name, value_to_replace)
    FROM table_name;

    例子:
    考虑以下 Employee 表,

    查询:求所有Employee的salary之和,如果没有某个员工的Salary(或NULL值),则使用salary为10000。

    SELECT SUM(IFNULL(Salary, 10000) AS Salary
    FROM Employee;

    输出:

  3. COALESCE(): SQL 中的 COALESCE函数返回其参数中的第一个非 NULL 表达式。如果所有表达式的计算结果为 null,则 COALESCE函数将返回 null。
    句法:
    SELECT column(s), CAOLESCE(expression_1,....,expression_n)
    FROM table_name;

    例子:
    考虑以下 Contact_info 表,

    查询:获取每个员工的姓名、联系电话。

    SELECT Name, COALESCE(Phone1, Phone2) AS Contact
    FROM Contact_info;

    输出:

  4. NULLIF(): NULLIF函数有两个参数。如果两个参数相等,则返回 NULL。否则返回第一个参数。
    句法:
    SELECT column(s), NULLIF(expression1, expression2)
    FROM table_name;

    例子:
    考虑下面的销售表,

    SELECT Store, NULLIF(Actual, Goal)
    FROM Sales;

    输出: