欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySql的常用函数

程序员文章站 2022-05-30 09:48:59
...

目录

 

MySql函数介绍

1、聚集函数

2、字符串处理函数

3、数学函数

4、日期时间处理函数

5、加密和解密函数


MySql函数介绍     

通常,数据库在设计时都会内嵌入一些内建函数,这里边封装了我们可能会用到的一些命令,方便我们对数据库进行一些操作,如统计一个表有多少行数据,或者查询出某个字段的平均值等。熟悉常用的函数,可以让我们面对复杂的查询和需求时快速找到解决方案。

 

1、聚集函数

  • avg
  • count
  • max
  • min
  • Sum
-- 聚焦函数测试
-- count 
SELECT COUNT(*)  员工数 FROM stuff;

-- avg 平均值函数 查询出员工平均值
SELECT AVG(salary) 员工平均工资 FROM stuff;

-- max 查询出员工工资的最大值
SELECT MAX(salary) 员工工资的最大值 FROM stuff;

-- min 查询出员工工资的最小值
SELECT MIN(salary) 员工工资的最小值 FROM stuff;

-- sum 查询员工工资总值
SELECT SUM(salary) 员工工资总和 FROM stuff;

-- distinct 去重
SELECT DISTINCT(s.salary)FROM stuff s; 

在使用聚集函数时,通常还会添加GOURP BY 分组、ORDER BY 排序 或者 HAVING 条件筛选,详情请看MySql的常用子句分析

2、字符串处理函数

  • 合并字符串函数:concat(str1,str2,str3…)
  • 比较字符串大小函数:strcmp(str1,str2)
  • 获取字符串字节数函数:length(str)
  • 获取字符串字符数函数:char_length(str)
  • 字母大小写转换函数:大写:upper(x),ucase(x);小写lower(x),lcase(x)
  • 字符串去掉首尾空格函数:trim(str)
  • 字符串替换函数:replace(str1,str2,str3)
-- concat 拼接
SELECT CONCAT('123','456'); 

-- strcmp 比较
SELECT STRCMP('hello','hello');

-- length 读取字节数
SELECT LENGTH('我是阿荣');

-- char_length 读取字符数
SELECT CHAR_LENGTH('我是阿荣');

-- upper lower 大小写
SELECT UPPER('hELOOwORld');
SELECT LOWER('HellOWORld');

-- trim 去掉收尾空格
SELECT CHAR_LENGTH( TRIM('helloworld                       '));

-- replace 替换
SELECT REPLACE('hellohehe','hehe','world');

3、数学函数

  • 绝对值函数:abs(x)
  • 向上取整函数:ceil(x)
  • 向下取整函数:floor(x)
  • 取模函数:mod(x,y)
  • 随机数函数:rand()
  • 四舍五入函数:round(x,y)

 

-- abs绝对值函数
SELECT ABS(-1);

-- ceil 向上取整函数
SELECT CEIL(1.34);

-- floor 向下2取整函数
SELECT FLOOR(1.34);

-- mod 取模函数
SELECT MOD(5,3);

-- 随机数函数(0,1)
SELECT RAND();

-- 四舍五入函数
SELECT ROUND(4.49);

-- 数值截取函数
SELECT TRUNCATE(11313,13);

 

4、日期时间处理函数

  • 获取当前日期:curdate(),current_date()
  • 获取当前时间:curtime(),current_time()
  • 获取当前日期时间:now()
  • 从日期中选择出月份数:month(date),monthname(date)
  • 从日期中选择出周数:week(date)
  • 从日期中选择出周数:year(date)
  • 从时间中选择出小时数:hour(time)
  • 从时间中选择出分钟数:minute(time)
  • 从时间中选择出今天是周几:weekday(date),dayname(date)
-- 获取当前日期
SELECT CURRENT_DATE();
SELECT CURRENT_DATE()+0;

-- 获取当前时间
SELECT CURRENT_TIME();

-- 获取当前日期时间
SELECT NOW();

-- 从日期中选择出月
SELECT MONTH(CURRENT_DATE());

-- 从日期中选择出周
SELECT WEEK(CURRENT_DATE());

-- 从日期中选择出日
SELECT DAY(CURRENT_DATE());

5、加密和解密函数

  • password(str)
  • encode(str,key)
  • md5(str)
  • decode(str,key)
-- password
SELECT PASSWORD('hello');

-- encode 通过key来加密hello
SELECT ENCODE('hello','key');

-- MD5
SELECT MD5('hello');

-- encode解密
SELECT DECODE(ENCODE('hello','a'),'a');