1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| # 聚合函数 SELECT count(id) AS total FROM n; # 总数 SELECT sum(age) AS all_age FROM n; # 总和 SELECT avg(age) AS all_age FROM n; # 平均值 SELECT max(age) AS all_age FROM n; # 最大值 SELECT min(age) AS all_age FROM n; # 最小值 # 数学函数 SELECT abs(-5); # 绝对值 SELECT bin(15), oct(15), hex(15); # 二进制,八进制,十六进制 SELECT pi(); # 圆周率3.141593 SELECT ceil(5.5); # 大于x的最小整数值6 SELECT floor(5.5); # 小于x的最大整数值5 SELECT greatest(3,1,4,1,5,9,2,6); # 返回集合中最大的值9 SELECT least(3,1,4,1,5,9,2,6); # 返回集合中最小的值1 SELECT mod(5,3); # 余数2 SELECT rand(); # 返回0到1内的随机值,每次不一样 SELECT rand(5); # 提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。 SELECT round(1415.1415); # 四舍五入1415 SELECT round(1415.1415, 3); # 四舍五入三位数1415.142 SELECT round(1415.1415, -1); # 四舍五入整数位数1420 SELECT truncate(1415.1415, 3); # 截短为3位小数1415.141 SELECT truncate(1415.1415, -1); # 截短为-1位小数1410 SELECT sign(-5); # 符号的值负数-1 SELECT sign(5); # 符号的值正数1 SELECT sqrt(9); # 平方根3 SELECT sqrt(9); # 平方根3 # 字符串函数 SELECT concat('a', 'p', 'p', 'le'); # 连接字符串-apple SELECT concat_ws(',', 'a', 'p', 'p', 'le'); # 连接用','分割字符串-a,p,p,le SELECT insert('chinese', 3, 2, 'IN'); # 将字符串'chinese'从3位置开始的2个字符替换为'IN'-chINese SELECT left('chinese', 4); # 返回字符串'chinese'左边的4个字符-chin SELECT right('chinese', 3); # 返回字符串'chinese'右边的3个字符-ese SELECT substring('chinese', 3); # 返回字符串'chinese'第三个字符之后的子字符串-inese SELECT substring('chinese', -3); # 返回字符串'chinese'倒数第三个字符之后的子字符串-ese SELECT substring('chinese', 3, 2); # 返回字符串'chinese'第三个字符之后的两个字符-in SELECT trim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese' SELECT ltrim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese ' SELECT rtrim(' chinese '); # 切割字符串' chinese '两边的空字符-' chinese' SELECT repeat('boy', 3); # 重复字符'boy'三次-'boyboyboy' SELECT reverse('chinese'); # 反向排序-'esenihc' SELECT length('chinese'); # 返回字符串的长度-7 SELECT upper('chINese'), lower('chINese'); # 大写小写 CHINESE chinese SELECT ucase('chINese'), lcase('chINese'); # 大写小写 CHINESE chinese SELECT position('i' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-3 SELECT position('e' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-5 SELECT strcmp('abc', 'abd'); # 比较字符串,第一个参数小于第二个返回负数- -1 SELECT strcmp('abc', 'abb'); # 比较字符串,第一个参数大于第二个返回正数- 1 # 时间函数 SELECT current_date, current_time, now(); # 2018-01-13 12:33:43 2018-01-13 12:33:43 SELECT hour(current_time), minute(current_time), second(current_time); # 12 31 34 SELECT year(current_date), month(current_date), week(current_date); # 2018 1 1 SELECT quarter(current_date); # 1 SELECT monthname(current_date), dayname(current_date); # January Saturday SELECT dayofweek(current_date), dayofmonth(current_date), dayofyear(current_date); # 7 13 13 # 控制流函数 SELECT if(3>2, 't', 'f'), if(3<2, 't', 'f'); # t f SELECT ifnull(NULL, 't'), ifnull(2, 't'); # t 2 SELECT isnull(1), isnull(1/0); # 0 1 是null返回1,不是null返回0 SELECT nullif('a', 'a'), nullif('a', 'b'); # null a 参数相同或成立返回null,不同或不成立则返回第一个参数 SELECT CASE 2 WHEN 1 THEN 'first' WHEN 2 THEN 'second' WHEN 3 THEN 'third' ELSE 'other' END ; # second # 系统信息函数 SELECT database(); # 当前数据库名-test SELECT connection_id(); # 当前用户id-306 SELECT user(); # 当前用户-root@localhost SELECT version(); # 当前mysql版本 SELECT found_rows(); # 返回上次查询的检索行数
|