MySQL中的函数使用

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相差多少天
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值