zoukankan      html  css  js  c++  java
  • mysql常用函数

    操作符优先级

    下图展示了所有操作符的执行优先级,从高到低,同一行中的操作符优先级相同,相同优先级的情况下则从左到右执行,如果想改变优先级执行顺序,则可以使用括号

    对比操作符

    •对比操作符的执行结果为true,false,null三种
    • Coalesce()代表返回第一个非Null的值
    • Greatest()代表返回最大的值
    • In()代表检查值是否在一系列的值之中
    • Interval()代表返回比第一个参数小的参数的位置

    • Isnull()代表检查参数是NULL
    • Least()代表返回最小的参数

    • Strcmp()对比两个字符串

    逻辑操作符

    • 逻辑操作符返回1 (TRUE), 0 (FALSE), 或者NULL

    • Xor逻辑操作符
    • 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

    流程控制函数

    • 流程控制函数包含以下四种函数

    语法格式:

    • CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END

    注: 当value等于compare_value时,则返回result,否则返回else里的result,如果没有else子句则返回null

    例:

    mysql> SELECT CASE 1 WHEN 1 THEN 'one'  WHEN 2 THEN 'two' ELSE 'more' END;

     mysql-> 'one'

    • IF(expr1,expr2,expr3)

    • 当expr1为1/true时,则返回expr2,否则返回expr3

    • IFNULL(expr1,expr2)

    • 当expr1为非null时,则返回expr1,否则返回exp2

    • NULLIF(expr1,expr2)

    • 当expr1等于expr2时,则返回null,否则返回exp1

    字符串函数

    • CHAR_LENGTH(str)

    • 返回字符串的字符长度
    • CONCAT(str1,str2,...)
    • 返回括号里所有参数字符串连接在一起,当其中有参数为NULL时则返回NULL

    • CONCAT_WS(separator,str1,str2,...)
    • 返回以第一个参数为分隔符的连接后的一个字符串,当有参数为NULL时则null被忽略

    • INSERT(str,pos,len,newstr)
    • 将str中从pos位置开始后的len个字符替换成newstr字符串

    例:

    • mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
    • mysql-> 'QuWhattic

    • INSTR(str,substr)
    • 返回str字符串中第一个出现substr字符串的位置

    例:

    • mysql> SELECT INSTR('foobarbar', 'bar');
    • mysql-> 4

    • LEFT(str,len)
    • 返回str字符串中从左边开始的len个长度的字符

    例:

    • mysql> SELECT LEFT('foobarbar', 5);
    • mysql-> 'fooba'

    • LENGTH(str)

    • 返回str字符串的byte字节长度

    • mysql> SELECT LENGTH('text');
    • mysql-> 4

    • LOWER(str)
    • 返回将str字符串中所有字符变换成小写后的字符串,但对二进制文本无效

    例:

    • mysql> SELECT LOWER('QUADRATICALLY');
    • mysql-> 'quadratically'

    • UPPER(str)
    • 返回将str字符串中所有字符转换成大写的字符串

    例;

    • mysql> SELECT UPPER('Hej');
    • mysql-> 'HEJ'

    • LTRIM(str) | RTRIM(str)
    • 将str最左边|最右边的空格去掉并返回

    例:
    • mysql> SELECT LTRIM('   barbar');
    • mysql-> 'barbar‘

    • REPLACE(str,from_str,to_str)
    • 将所有str字符串中匹配from_str子串的地方都替换成to_str子字符串

    例:
    • mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
    • mysql-> 'WwWwWw.mysql.com'

    日期和时间函数

    • ADDDATE(date,INTERVAL expr unit), ADDDATE(expr,days)
    • 当expr为正数时则为增加时间,为负数时则为减少时间
    • Unit参数可以是任意时间单位

    例:

    • mysql> SELECT ADDDATE('2018-01-02', INTERVAL 31 DAY);
    • mysql-> '2018-02-02'

    • DATE(expr)
    • 获取expr中的日期

    例:
    • mysql> SELECT DATE('2018-12-31 01:02:03');
    •mysql -> '2018-12-31'

    • DATE_ADD(date,INTERVAL expr unit)

    • 增加时间

    例:

    • mysql> SELECT DATE_ADD('2018-12-31 23:59:59'  INTERVAL 1 SECOND);
    •mysql-> '2019-01-01 00:00:00'

    • mysql> SELECT DATE_ADD('2018-12-31 23:59:59' INTERVAL 1 DAY);
    • mysql-> '2019-01-01 23:59:59'

    • FROM_UNIXTIME(unix_timestamp)

    • 根据给定的unixtime,返回yyyy-mm-dd hh:mi:ss

    • UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
    • 如果没有date参数,则返回当前时间到1970-01-01 00:00:00之间的秒数,如果有date参数,则表示date到1970-01-01 00:00:00之间的秒数

    • mysql> SELECT UNIX_TIMESTAMP('2015-11-13 10:20:19');
    • mysql-> 1447431619 

    • DATE_FORMAT(date,format)
    • 将date日期时间转换成format格式

  • 相关阅读:
    spark 读取mongodb失败,报executor time out 和GC overhead limit exceeded 异常
    在zepplin 使用spark sql 查询mongodb的数据
    Unable to query from Mongodb from Zeppelin using spark
    spark 与zepplin 版本兼容
    kafka 新旧消费者的区别
    kafka 新生产者发送消息流程
    spark ui acl 不生效的问题分析
    python中if __name__ == '__main__': 的解析
    深入C++的new
    NSSplitView
  • 原文地址:https://www.cnblogs.com/zhs0/p/10535840.html
Copyright © 2011-2022 走看看