zoukankan      html  css  js  c++  java
  • Mysql学习笔记(三)运算符和控制流函数

    本章学习内容:

    1.操作符

    2.控制流程函数

    操作符:

    i.圆括号。。

    简单的介绍一下圆括号,圆括号的使用的目的是规定计算表达式的顺序。。。这个想必大家都熟悉例如  mysql>select 1+(2*3) mysql>select (1+2)*3

    ii.比较运算符。

    比较运算符就比较多了,并且也很常用..比如

    =
     
    等于:
    
    mysql> SELECT 1 = 0;
            -> 0
    mysql> SELECT '0' = 0;
            -> 1
    
    <> , !=
        不等于:
    
        mysql> SELECT '.01' <> '0.01';
                -> 1
        mysql> SELECT .01 <> '0.01';
                -> 0
    <=
        小于或等于:
    
        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
    
    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
    
    expr IN (value,...)
        如果 expr 是 IN 列表中的作一值,它将返回 1,否则返回 0。如果所有的值均是常数,那么所有的值被依照 expr 的类型进行计算和排序。然后以一个二进制搜索方式完成项目的搜索。这就意味着,如果 IN 列表完全由常数组成,IN 将是非常快的。如果 expr 是一个字母大小写敏感的字符串表达式,字符串比较将以大小写敏感方式执行:
    
        mysql> SELECT 2 IN (0,3,5,'wefwf');
                -> 0
        mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
                -> 1

    iii.逻辑运算符...

    逻辑运算符也很常用并且也很简单...

    NOT
    !
        逻辑非。 如果操作数为 0,返回 1;如果操作数为非零,返回 0;如果操作数为 NOT NULL,返回 NULL。
    
        mysql> SELECT NOT 10;
                -> 0
        mysql> SELECT NOT 0;
                -> 1
        mysql> SELECT ! 1+1;
            -> 1
    最后一个例子返回 1,因为表达式是与 (!1)+1 一样被计算的。 
    
    AND ,&&
    
    逻辑与..当表达式的两边同时为1的时候,函数表达式才返回true,否则为false..
    
    mysql> SELECT 1 && 1;
            -> 1
    mysql> SELECT 1 && 0;
            -> 0
    
    or ,||
    
    逻辑或。。当表达式两边同时为0的时候,函数表达式才返回false,否则为true..
    
    mysql> SELECT 1 || 1;
            -> 1
    mysql> SELECT 1 || 0;
            -> 1
    
    xor
    
    逻辑异或。。当两边的不同的时候函数表达式返回true,否则返回true..

    控制流函数:

    IFNULL(expr1,expr2)
    如果 expr1 为非 NULL 的,IFNULL() 返回 expr1,否则返回 expr2。IFNULL() 返回一个数字或字符串值
    mysql> SELECT IFNULL(1,0);
            -> 1
    mysql> SELECT IFNULL(NULL,10);
            -> 10
    如果 expr1 = expr2 为真,返回 NULL,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END:
    
    mysql> SELECT NULLIF(1,1);
            -> NULL
    mysql> SELECT NULLIF(1,2);
            -> 1
    --------------------------------------------------------------------------------
    NULLIF(expr1,expr2)
    
    如果 expr1 = expr2 为真,返回 NULL,否则返回 expr1。 它等同于 CASE WHEN x = y THEN NULL ELSE x END:
    
    mysql> SELECT NULLIF(1,1);
            -> NULL
    mysql> SELECT NULLIF(1,2);
            -> 1
    --------------------------------------------------------------------------------
    IF(expr1,expr2,expr3)
    如果expr1为真,那么将返回expr2的值,否则返回expr3的值
    mysql> SELECT IF(1>2,2,3);
            -> 3
    mysql> SELECT IF(1<2,'yes','no');
            -> 'yes'
    mysql> SELECT IF(STRCMP('test','test1'),'no','yes');
            -> 'no'
    如果expr2和expr3明确的指为null,那么将返回非NULL的类型..
    --------------------------------------------------------------------------------
    CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END
    CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END 
    
    mysql> SELECT CASE 1 WHEN 1 THEN "one"
               WHEN 2 THEN "two" ELSE "more" END;
           -> "one"
    mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
           -> "true"
    mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;
           -> NULL
  • 相关阅读:
    WPF自定义控件与样式(13)-自定义窗体Window & 自适应内容大小消息框MessageBox
    WPF自定义控件与样式(12)-缩略图ThumbnailImage /gif动画图/图片列表
    WPF自定义控件与样式(11)-等待/忙/正在加载状态-控件实现
    WPF自定义控件与样式(10)-进度控件ProcessBar自定义样
    WPF自定义控件与样式(9)-树控件TreeView与菜单Menu-ContextMenu
    WPF自定义控件与样式(8)-ComboBox与自定义多选控件MultComboBox
    WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式
    WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式
    常用类-CSV---OLEDB
    常用类-ExcelHelper
  • 原文地址:https://www.cnblogs.com/RGogoing/p/4456409.html
Copyright © 2011-2022 走看看