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