Mysql基础之常见函数


Posted in MySQL onApril 22, 2021

一、常见函数分类

1.1单行函数:

  • 字符函数
  • 字符控制函数(CONCAT、SUBSTR、LENGTH。。。)
  • 大小写控制函数
  • 数学函数
  • 日期函数
  • 流程控制函数

1.2分组函数:

分组函数功能偏向统计,比如,AVG()、COUNT()、MAX()、MIN()、SUM()

单行函数与分组函数:

(1)分组函数:主要用来进行统计、聚合使用到的函数,分组函数接收多个输入,返回一个输出。

(2)单行函数:上面提到的字符函数、数学函数、日期函数、都属单行函数的范畴,单行函数只对一行进行变换,每行返回一个结果。

二、单行函数

字符函数

concat:字符连接函数

substr:截取字符串,

SELECT SUBSTR('李莫愁爱上了陆展元',7)  out_put; // 索引由1开始,陆展元
SELECT SUBSTR('李莫愁爱上了陆展元',1,3) out_put;// 李莫愁

instr:返回子串第一次出现的索引,如果找不到返回0

SELECT INSTR('杨不殷六侠悔爱上了殷六侠','殷六侠') AS out_put;// 3

trim:去掉左边与右边的空格元素

SELECT LENGTH(TRIM('    张翠山    ')) AS out_put;
SELECT TRIM('aa' FROM 'aaaaaaaaa张aaaaaaaaaaaa翠山aaaaaaaaaaaa')  AS out_put;//中间的a并不能去掉

upper:大写转换字符串

lower:小写转换字符串

lpad: 用指定的字符实现左填充指定长度

SELECT LPAD('殷素素',2,'*') AS out_put;// 数字表示指定的长度

rpad:用指定的字符实现右填充指定长度

replace:替换

三、数学函数

四舍五入
SELECT ROUND(-1.55);// -2
SELECT ROUND(1.567,2);// 指定字符精度 1.56

向上取整
SELECT CEIL(-1.02);// -1

向下取整
SELECT FLOOR(-9.99);// -10

截断
SELECT TRUNCATE(1.69999,1);// 1.6

取余
SELECT MOD(-10,3); // -1
SELECT MOD(-10,-3);// -1
SELECT MOD(10,-3);// 1

四、日期函数

返回当前系统日期+时间
SELECT NOW();// 2021-03-16 09:00:35

返回当前系统日期,不包含时间
SELECT CURDATE();// 2021-03-16

返回当前时间,不包含日期
SELECT CURTIME();// 09:00:35

可以获取指定的部分,年、月、日、小时、分钟、秒
SELECT YEAR(NOW()) 年;
SELECT YEAR('1998-1-1') 年;
SELECT MONTH(NOW()) 月;
SELECT MONTHNAME(NOW()) 月;

将字符通过指定的格式转换成日期
SELECT STR_TO_DATE('1998-3-2','%Y-%c-%d') AS out_put; // 1998-03-02

将日期转换成字符
SELECT DATE_FORMAT(NOW(),'%y年%m月%d日') AS out_put;

五、其他函数

SELECT VERSION(); // sql版本
SELECT DATABASE();// 当前数据库
SELECT USER();// root@localhost

六、控制函数

IF函数
SELECT IF(10<5,'大','小'); //小

case函数的使用1:case后带参,表示某一种确定的情况

case 要判断的字段或表达式
when 常量1 then 要显示的值1或语句1;
when 常量2 then 要显示的值2或语句2;

SELECT salary 原始工资,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
FROM employees;

case函数的使用2:case后不带参数,表示一种模糊的区间

SELECT salary,
CASE 
WHEN salary>20000 THEN 'A'
WHEN salary>15000 THEN 'B'
WHEN salary>10000 THEN 'C'
ELSE 'D'
END AS 工资级别
FROM employees;

到此这篇关于Mysql基础之常见函数的文章就介绍到这了,更多相关mysql常见函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
mysql 8.0.24 安装配置方法图文教程
May 12 MySQL
mysql 8.0.24版本安装配置方法图文教程
May 12 MySQL
分析MySQL抛出异常的几种常见解决方式
May 18 MySQL
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
May 25 MySQL
MySQL 那些常见的错误设计规范,你都知道吗
Jul 16 MySQL
SQL实现LeetCode(180.连续的数字)
Aug 04 MySQL
MySQL面试题讲解之如何设置Hash索引
Nov 01 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
教你如何让spark sql写mysql的时候支持update操作
Feb 15 MySQL
mysql数据插入覆盖和时间戳的问题及解决
Mar 25 MySQL
MySQL实现配置主从复制项目实践
Mar 31 MySQL
MySQL事务操作的四大特性以及并发事务问题
Apr 12 MySQL
MySQL分库分表与分区的入门指南
MySQL8.0.24版本Release Note的一些改进点
Apr 22 #MySQL
详解MySQL的半同步
详解MySQL事务的隔离级别与MVCC
Apr 22 #MySQL
MySQL之高可用集群部署及故障切换实现
教你用eclipse连接mysql数据库
MySQL 慢查询日志深入理解
You might like
PHP4实际应用经验篇(5)
2006/10/09 PHP
介绍php设计模式中的工厂模式
2008/06/12 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
JavaScript常用全局属性与方法记录积累
2013/07/03 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
详解angular2实现ng2-router 路由和嵌套路由
2017/03/24 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
python实现360皮肤按钮控件示例
2014/02/21 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
python3实现名片管理系统
2020/11/29 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Python实现计算字符串中出现次数最多的字符示例
2019/01/21 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Django实现网页分页功能
2019/10/31 Python
python初步实现word2vec操作
2020/06/09 Python
俄罗斯最大的灯具网站:Fandeco
2020/03/14 全球购物
英国领先的独立酒精饮料零售商:DrinkSupermarket
2021/01/13 全球购物
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
元旦晚会邀请函
2014/02/01 职场文书
房产委托公证书样本
2014/04/04 职场文书
中学生打架检讨书
2014/10/13 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android