SQL中提供的函数:
version() 查询当前数据库版本
user() 查询当前登录用户
database() 查询当前所在数据库
uuid() 返回uuid的值,分布式情况下数据库主键不重复的解决方案
注:UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过*控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。
聚合函数:【如果使用了聚合函数,建议和别名配合使用!】
count(列名称) 统计行
用法:mysql> select count(列名称) from 表名;
max(列名称) 求最大值
用法:mysql> select max(列名称) from 表名;
min(列名称) 求最小值
用法:mysql> select min(列名称) from 表名;
sum(列名称) 求和统计
用法:mysql> select sum(列名称) from 表名;
avg(列名称) 求平均数
用法:mysql> select avg(列名称) from 表名;
数值型函数:
abs(num) 求绝对值
用法:mysql> select abs(一个数字);
sqrt(num) 开平方根
用法:mysql> select abs(数字);
pow(x,y)/power(x,y) 幂次方
求2的3次方:
mod(x,y) 求余数
用法:mysql> select mod(除数,被除数);
ceil(num)/ceiling(num) 向上取整
用法:mysql> select ceil(数字);
floor(num) 向下取整
用法:mysql> select floor(数字);
round(num) 四舍五入
用法:mysql> select round(数字);
rand() 随机数
用法:mysql> select rand();
sign(num) 返回自然数符号(正:1,负:-1,0为0)
用法:mysql> select sign(数字);
字符串函数:
length() 获取字符串的存储长度,注意中文编码问题
用法:mysql> select length(‘字符串‘)
char_length() 获取字符长度
用法: mysql> select char_length(‘字符‘);
concat(s1,s2) 拼接字符串
用法:mysql> select concat(‘字符串1‘,‘字符串2‘);
insert(str,pos,len,newstr) 替换字符串
用法:mysql> select insert(‘字符串‘,替换的位置,替换的长度,‘新字符串‘);
lower() 转换为小写
用法:mysql> select lower(‘字符串‘);
upper() 转换为大写
用法:mysql> select upper(‘字符串‘);
left(s1,len) 从左侧截取len长度的字符串
用法:mysql> select left(‘字符串‘,要截取的长度);
right(s1,len) 从右侧截取len长度的字符串
用法:mysql> select left(‘字符串‘,要截取的长度);
trim() 清除字符串两边空格
用法:mysql> select trim(‘ 字符串 ‘);
replace(s1,s2,s3) 替换字符串
用法:
substring(s,pos,len) 截取字符串
用法:mysql> select substring(‘字符串‘,开始截取的位置,截取长度);
reverse(str) 翻转字符串
用法:mysql> select reverse(‘字符串‘);
strcmp(expr1,expr2) 比较两个表达式的顺序,若expr1<expr2,则返回-1,0相等,1则相反
用法: mysql> select strcmp(‘表达式1‘,‘表达式2‘);
instr(str,s1) 返回第一次出现子串的位置
用法:mysql> select instr(‘字符串‘,‘子串‘);
locate(s,str,[pos]) 返回第一次出现子串的位置,pos表示匹配位置
用法:mysql> select locate(‘字串‘,‘字符产‘,匹配位置);
例:批匹配这段短字符串中在第5位之后 is的出现位置:
日期和时间函数:
mysql> select curdate(); 查询当前日期
mysql> select current_date(); 查询当前日期
mysql> select current_date; 查询当前日期
mysql> select curtime(); 查询当前时间
mysql> select current_time(); 查询当前时间
mysql> select current_time; 查询当前时间
mysql> select now(); 查询当前日期和时间
mysql> select sysdate(); 查询当前日期和时间
获取给定的时间日期:
mysql> select date(now()); 查询当前日期
mysql> select date(‘2020-10-02 12:12:12‘); 查询给定日期
mysql> select time(sysdate()); 查询当前时间
mysql> select time(‘2020-10-02 12:12:12‘); 查询给定的时间
mysql> select month(now()); 查询当前月份
mysql> select monthname(now()); 查询当前月份名称
mysql> select dayname(now()); 查询今天是星期几
mysql> select day(now()); 查询今天是每月的第几天
mysql> select dayofweek(now()); 查询今天是这周的第几天
mysql> select week(now()); 查询这周是今年的第几周
mysql> select year(now()); 查询今年是哪一年
mysql> select dayofyear(now()); 查询今天是今年的第几天
mysql> select datediff(‘时间1‘,‘时间2‘); 查询时间1到时间2相差多少天