SQL IFNULL()函数详细解析
本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
解析:IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。
1 |
|
如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值。
参数说明:
参数 | 解析 |
---|---|
expression | 必须,要测试的值 |
alt_value | 必须,expression 表达式为 NULL 时返回的值 |
参数 描述
实例
1 |
|
以上实例输出结果为:
1 |
|
第一个参数不为 NULL:
1 |
|
以上实例输出结果为:
1 |
|
1 |
|
参数
1 |
|
返回的数据类型描述如下。
描述
支持 IFNULL 作为 SQL 通用函数和 ODBC 标量函数。 请注意,虽然这两个执行非常相似的操作,但它们在功能上是不同的。 SQL 通用函数支持三个参数。 ODBC 标量函数支持两个参数。 SQL 通用函数和 ODBC 标量函数的双参数形式是不一样的; 当 expression-1 不为空时,它们返回不同的值。
SQL 通用函数计算表达式 1 是否为 NULL。 它永远不会返回 expression-1:
1 |
|
返回值数据类型
IFNULL(expression-1,expression-2)
:
返回 expression-2 的数据类型。 如果 expression-2 是数值字面值,则字符串字面值或 NULL 返回数据类型 VARCHAR。IFNULL(expression-1,expression-2,expression-3)
:
如果 expression-2 和 expression-3 具有不同的数据类型,则返回数据类型优先级更高 (包容性更强) 的数据类型。 如果 expression-2 或 expression-3 是数值字面值或字符串字面值,则返回数据类型 VARCHAR。 如果 expression-2 或 expression-3 为 NULL,则返回非 NULL 参数的数据类型。
如果 expression-2 和 expression-3 的长度、精度或比例不同,则 IFNULL 返回两个表达式的更大长度、精度或比例。
{fn IFNULL(expression-1,expression-2)}
- 返回 expression-1 的数据类型。 如果 expression-1 是数字字面值、字符串字面值或 NULL,则返回数据类型 VARCHAR。
SQL IFNULL()函数详细解析