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分库分表与分区的入门指南
Apr 22 MySQL
修改MySQL的默认密码的四种小方法
May 26 MySQL
MySQL查看表和清空表的常用命令总结
May 26 MySQL
Mysql数据库索引面试题(程序员基础技能)
May 31 MySQL
MySQL实例精讲单行函数以及字符数学日期流程控制
Oct 15 MySQL
一篇文章看懂MySQL主从复制与读写分离
Nov 07 MySQL
SQL语法CONSTRAINT约束操作详情
Jan 18 MySQL
分析MySQL优化 index merge 后引起的死锁
Apr 19 MySQL
mysql 获取相邻数据项
May 11 MySQL
MySQL数据库之存储过程 procedure
Jun 16 MySQL
MySQL transaction事务安全示例讲解
Jun 21 MySQL
MySQL使用IF语句及用case语句对条件并结果进行判断 
Sep 23 MySQL
MySQL分库分表与分区的入门指南
MySQL8.0.24版本Release Note的一些改进点
Apr 22 #MySQL
详解MySQL的半同步
详解MySQL事务的隔离级别与MVCC
Apr 22 #MySQL
MySQL之高可用集群部署及故障切换实现
教你用eclipse连接mysql数据库
MySQL 慢查询日志深入理解
You might like
星际流派综述
2020/03/04 星际争霸
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
优化javascript的执行速度
2010/01/23 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
jquery获取css的color值返回RGB的方法
2015/12/18 Javascript
JS组件Bootstrap按钮组与下拉按钮详解
2016/05/10 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
JS鼠标滚动分页效果示例
2017/07/05 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
基于vue.js实现的分页
2018/03/13 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
基于python 凸包问题的解决
2020/04/16 Python
Pycharm中如何关掉python console
2020/10/27 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
如何签定毕业生就业协议书
2014/09/28 职场文书
原生JS封装vue Tab切换效果
2021/04/28 Vue.js
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers