函数 功能描述

CASE value
WHEN value1 [, value11 ]* THEN result1
[ WHEN valueN [, valueN1 ]* THEN resultN ]*
[ ELSE resultZ ]
END

  • 当 value 包含在 value1 ~ value11 中时,返回 result1。

  • 当 value 包含在 valueN ~ valueN1 中时,返回 resultN。

  • 否则返回 resultZ。若没有 else 语句,则返回 NULL。

示例语句:
insert into temp SELECT CASE units WHEN 5 THEN 1 ELSE 0 END FROM Orders;
当 units 等于 5 时返回 1,否则返回 0。

CASE
WHEN condition1 THEN result1
[ WHEN conditionN THEN resultN ] *
[ ELSE resultZ ]
END

  • 当满足 condition1 时返回 result1。

  • 当满足 conditionN 时返回 resultN。

否则返回 resultZ。若没有 else 语句,则返回 NULL。
示例语句:
insert into temp SELECT CASE WHEN units = 5 THEN 1 ELSE 0 END FROM Orders;
当 units 等于 5 时返回 1,否则返回 0。

NULLIF(value1, value2)

如果 value1 与 value2 相同,则返回 NULL,否则返回第一个值。
例如:

  • NULLIF(5, 5) 返回 NULL。

  • NULLIF(5, 0) 返回 5。

COALESCE(value1, value2 [, value3 ]* )

返回列表中第一个不为 NULL 的值。
例如:COLAESCE(NULL, 5) 返回 5。

IF(condition, true_value, false_value)

如果满足 condition 的条件,返回 true_value,否则返回 false_value。
例如:IF(2 > 1, 2, 1) 返回 2。

IS_ALPHA(string)

判断字符串 string 是不是仅由纯字母组成。
如果是,返回 TRUE,否则返回 FALSE。

IS_DECIMAL(string)

判断字符串 string 是不是一个合法的数字(整数、小数、负数均可)。
如果是,返回 TRUE,否则返回 FALSE。

IS_DIGIT(string)

判断字符串是不是仅由纯数字组成。
如果是,返回 TRUE,否则返回 FALSE。