更新时间:2024-04-19 GMT+08:00

条件函数

函数说明

表1 条件函数

条件函数

函数说明

CASE value

WHEN value1_1 [, value1_2 ]* THEN result1

[ WHEN value2_1 [, value2_2 ]* THEN result2 ]*

[ ELSE resultZ ]

END

当第一个时间值包含在 (valueX_1, valueX_2, …) 中时,返回 resultX。当没有值匹配时,如果提供则返回 result_z, 否则返回 NULL。

CASE

WHEN condition1 THEN result1

[ WHEN condition2 THEN result2 ]*

[ ELSE resultZ ]

END

满足第一个条件 X 时返回 resultX。当不满足任何条件时,如果提供则返回 result_z,否则返回 NULL。

NULLIF(value1, value2)

如果 value1 等于 value2 返回 NULL;否则返回 value1。

例如 NULLIF(5, 5) 返回 NULL;NULLIF(5, 0) 返回 5。

COALESCE(value1, value2 [, value3 ]* )

从 value1, value2, … 返回第一个不为 NULL 的值。

例如 COALESCE(3, 5, 3) 返回 3。

IF(condition, true_value, false_value)

如果满足条件,则返回 true_value,否则返回 false_value。

例如 IF(5 > 3, 5, 3) 返回 5。

IFNULL(input, null_replacement)

如果输入为 NULL,则返回 null_replacement;否则返回输入。与 COALESCE 或 CASE WHEN 相比,此函数返回的数据类型 在是否为空方面非常明确。。返回的类型是两个参数的公共类型,但只有在 null_replacement 可为空时才能为空。该函数允许将可 为空的列传递到使用 NOT NULL 约束声明的函数或表中。

例如 IFNULL(nullable_column, 5) 一定不返回 NULL。

IS_ALPHA(string)

如果字符串中的所有字符都是字母,则返回 true,否则返回 false。

IS_DECIMAL(string)

如果 string 可以解析为有效数字,则返回 true,否则返回 false。

IS_DIGIT(string)

如果字符串中的所有字符都是数字,则返回 true,否则返回 false。

GREATEST(value1[, value2]*)

返回所有输入参数的最大值,如果输入参数中包含 NULL,则返回 NULL。

LEAST(value1[, value2]*)

返回所有输入参数的最小值,如果输入参数中包含 NULL,则返回 NULL。