MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1)[3]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 shuixin13 的 blog

isnull(expr)
如果 exprnullisnull() 返回 1,否则返回 0
mysql> select isnull(1+1);
        -> 0
mysql> select isnull(1/0);
        -> 1
注意,对 null 值使用 = 进行比较总是为 false !
coalesce(list)
返回列表中第一个非 null 的元素:
mysql> select coalesce(null,1);
        -> 1
mysql> select coalesce(null,null,null);
        -> null
interval(n,n1,n2,n3,...)
returns 如果 n < n1 返回 0,如果 n < n2 返回 1,等等。所有的参数均被当作整数。为了函数能正确地工作,它要求 n1 < n2 < n3 < ... < nn。这是因为它使用的是一个二进制的搜索(非常地快):
mysql> select interval(23, 1, 15, 17, 30, 44, 200);
        -> 3
mysql> select interval(10, 1, 10, 100, 1000);
        -> 2
mysql> select interval(22, 23, 30, 44, 200);
        -> 0

如果以任何一个标准运算符(=, <>..., 但除了 like)对一个忽略大小写的字符串进行比较,尾部的空白空间(空格、tab 和换行)均被忽略。

mysql> select "a" ="a \n";
        -> 1

6.3.1.3 逻辑运算符

在 sql 中,所有的逻辑运算符返回的值均为 true、false 或 null (未知)。在 mysql 中,它们由 1 (true)、0 (false) 和 null 实现。这些大部分在不同的 sql 数据库间是相同的,然而某些可能会以一个非零值返回 true。

not
!
逻辑非。 如果操作数为 0,返回 1;如果操作数为非零,返回 0;如果操作数为 not null,返回 null
mysql> select not 10;
        -> 0
mysql> select not 0;
        -> 1
mysql> select not null;
        -> null
mysql> select ! (1+1);
        -> 0
mysql> select ! 1+1;
        -> 1
最后一个例子返回 1,因为表达式是与 (!1)+1 一样被计算的。

and
';&
逻辑与。 如果所有的操作数都是非零或非 null 的,返回 1;如果有一个或多个操作数为 0 ,则返回 0,只要操作数中有 null 返回值就为 null
mysql> select 1 ';& 1;
        -> 1
mysql> select 1 ';& 0;
        -> 0
mysql> select 1 ';& null;
        -> null
mysql> select 0 ';& null;
        -> 0
mysql> select null ';& 0;
        -> 0
请注意,在 mysql 4.0.5 以前版本中,当遇到一个 null 时就停止计算,而不是继续进程检查可能存在的0。这就意味着,在这些版本中,select (null and 0) 返回 null,而不是 0。在 4.0.5 中,代码已被重新设计了,已便于在任何仍然使用优化情况下,返回值总是能如 ansi 所规定的那样。
or
||
逻辑或。 如果任何一个操作数是非零的,返回值为 1,如果任一操作数为 null,返回值为 null,否则返回 0
mysql> select 1 || 1;
        -> 1
mysql> select 1 || 0;
        -> 1
mysql> select 0 || 0;
        -> 0
mysql> select 0 || null;
        -> null
mysql> select 1 || null;
        -> 1
xor
逻辑异或。 如果任一操作数为 null,返回值为 null。对于非 null 的操作数,如果有奇数个非零的操作数,结果返回为 1,否则返回 0
mysql> select 1 xor 1;
        -> 0
mysql> select 1 xor 0;
        -> 1
mysql> select 1 xor null;
        -> null
mysql> select 1 xor 1 xor 1;
        -> 1
a xor b 算术相等于 (a and (not b)) or ((not a) and b)xor 在 mysql 4.0.2 中被添加。

6.3.1.4 控制流函数

本文关键:MySQL 4.1.0 中文
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top