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格式

  • 相关阅读:
    java new 关键字到底做了什么?
    (转载)Eclipse中使用SVN
    图标常用网站
    正则表达式之RegExp对象
    表单验证之日期大小验证
    表单验证之正则表达式
    表单验证之JQuery Validate控件
    (转载)SVN使用说明
    oracle中group by 和order by同时存在时
    Oracle用户密码过期问题解决
  • 原文地址:https://www.cnblogs.com/zhs0/p/10535840.html
Copyright © 2011-2022 走看看