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

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

本文简介:选择自 shuixin13 的 blog

mysql> select 1 > '6x';
         -> 0
mysql> select 7 > '6x';
         -> 1
mysql> select 0 > 'x6';
         -> 0
mysql> select 0 = 'x6';
         -> 1
=
等于:
mysql> select 1 = 0;
        -> 0
mysql> select '0' = 0;
        -> 1
mysql> select '0.0' = 0;
        -> 1
mysql> select '0.01' = 0;
        -> 0
mysql> select '.01' = 0.01;
        -> 1
<>
!=
不等于:
mysql> select '.01' <> '0.01';
        -> 1
mysql> select .01 <> '0.01';
        -> 0
mysql> select 'zapp' <> 'zappp';
        -> 1
<=
小于或等于:
mysql> select 0.1 <= 2;
        -> 1
<
小于:
mysql> select 2 < 2;
        -> 0
>=
大于或等于:
mysql> select 2 >= 2;
        -> 1
>
大于:
mysql> select 2 > 2;
        -> 0
<=>
null 值安全等于:
mysql> select 1 <=> 1, null <=> null, 1 <=> null;
        -> 1 1 0
is null
is not null
测试一个值是或不是 null:
mysql> select 1 is null, 0 is null, null is null;
        -> 0 0 1
mysql> select 1 is not null, 0 is not null, null is not null;
        -> 1 1 0
为了能够与其它程序更好的工作,在使用 is null 是 mysql 支持下列额外选择性:
  • 通过它,你可以找到最后插入的记录行:
    select * from tbl_name where auto_col is null
    
    这个操作可以通过设置 sql_auto_is_null=0 来禁止。查看章节 5.5.6 set 句法.
  • 对于 not nulldatedatetime 列,可以通过使用下列语句找到特殊的值 0000-00-00
    select * from tbl_name where date_column is null
    
    这需要通过某些 odbc 应用程序才能工作(因为 odbc 不支持一个 0000-00-00 日期)

expr between min and max
如果 expr 大于或等于 min ,并且 expr 小于或等于 maxbetween 返回 1,否则返回 0。它等价于表达式 (min <= expr and expr <= max) ,只要所有的参数均是相同的类型。 否则类型会依照上面的规则发生转换,但是应用于所有三个参数。注意,在 mysql 4.0.5 之前,参数被转换到 expr 的类型。
mysql> select 1 between 2 and 3;
        -> 0
mysql> select 'b' between 'a' and 'c';
        -> 1
mysql> select 2 between 2 and '3';
        -> 1
mysql> select 2 between 2 and 'x-3';
        -> 0
expr not between min and max
等同于 not (expr between min and max)

expr in (value,...)
如果 exprin 列表中的作一值,它将返回 1,否则返回 0。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 in 列表完全由常数组成,in 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行:
mysql> select 2 in (0,3,5,'wefwf');
        -> 0
mysql> select 'wefwf' in (0,3,5,'wefwf');
        -> 1
从 mysql 4.1 开始(符合 sql-99 标准),如果左手边的表达式是 null,或者在列表中没有发现相匹配的值并且列表中的一个表达式是 nullin 均返回 null

expr not in (value,...)
等同于 not (expr in (value,...))

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

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

go top