条件函数
函数说明
条件函数 |
函数说明 |
---|---|
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。 |