Teradata CASE & COALESCE17 Mar 2025 | 阅读 2 分钟 CASE 和 COALESCE 这两个函数都在 Teradata 中用于不同的目的。两个函数具有不同的功能。 CASE 表达式Teradata CASE 语句提供了灵活性,可以根据表达式中指定的条件为列获取备用值。 CASE 表达式针对条件或 WHEN 子句评估每一行,并返回第一个匹配的结果;如果没有匹配项,则返回 ELSE 部分的结果。 语法 以下是 CASE 表达式的语法。 示例 考虑下表中以下员工记录。
在上面的示例中,我们评估 Marital_Status 列。如果婚姻状况为单身,则返回 1;如果婚姻状况为已婚,则返回 2。否则,它将返回值设为“不确定”。 现在,我们将对 Marital_Status 列应用 CASE 语句,如下所示 执行上述代码后,会产生以下输出。 ![]() 上面的 CASE 表达式也可以用以下方式编写,这将产生与上面相同的结果。 COALESCE 表达式Teradata COALESCE 用于 NULL 处理。COALESCE 是一个语句,它返回表达式的第一个非空值。如果表达式的所有参数的计算结果均为 NULL,则返回 NULL。以下是语法。 语法 这是 COALESCE 函数的基本语法 示例 考虑以下 Student(学生)表。 ![]() 现在,我们可以使用 COALESCE 函数来确定要选择哪个电话号码,如下所示 在上面的示例中,我们将首先搜索 Landline_no。如果该值为 NULL,它将分别搜索 Mobile_no。如果这两个数字均为 NULL,则它将返回“不可用”。如果没有参数返回非 NULL 值,它将返回这些列中的默认值。 当我们执行上面的查询时,它会生成以下输出。 ![]() NULLIF如果参数相等,则 NULLIF 语句返回 NULL。 语法 以下是 NULLIF 语句的语法。 示例 以下示例在 Mobile_No 等于 0 时返回 NULL。否则,它将返回 Mobile_No 值。 上面的查询返回以下记录。我们可以看到 Roll_No 101 和 104 的 Mobile 列为 NULL。 ![]() 下一个主题Teradata 主索引 |
我们请求您订阅我们的新闻通讯以获取最新更新。