操做符优先级mysql
下图展现了全部操做符的执行优先级,从高到低,同一行中的操做符优先级相同,相同优先级的状况下则从左到右执行,若是想改变优先级执行顺序,则能够使用括号sql
对比操做符函数
•对比操做符的执行结果为true,false,null三种
• Coalesce()表明返回第一个非Null的值
• Greatest()表明返回最大的值
• In()表明检查值是否在一系列的值之中
• Interval()表明返回比第一个参数小的参数的位置spa
• Isnull()表明检查参数是NULL
• Least()表明返回最小的参数unix
• Strcmp()对比两个字符串orm
逻辑操做符blog
• 逻辑操做符返回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;
• -> 1it
流程控制函数ast
• 流程控制函数包含如下四种函数
语法格式:
• 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格式