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 11 MySQL
详解MySQL的半同步
Apr 22 MySQL
MySQL 数据丢失排查案例
May 08 MySQL
为什么代码规范要求SQL语句不要过多的join
Jun 23 MySQL
MySQL系列之三 基础篇
Jul 02 MySQL
解决mysql的int型主键自增问题
Jul 15 MySQL
一次SQL如何查重及去重的实战记录
Mar 13 MySQL
Pycharm远程调试和MySQL数据库授权问题
Mar 18 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
MySQL创建管理KEY分区
Apr 13 MySQL
Golang连接并操作MySQL
Apr 14 MySQL
MySQL选择合适的备份策略和备份工具
Jun 01 MySQL
MySQL分库分表与分区的入门指南
MySQL8.0.24版本Release Note的一些改进点
Apr 22 #MySQL
详解MySQL的半同步
详解MySQL事务的隔离级别与MVCC
Apr 22 #MySQL
MySQL之高可用集群部署及故障切换实现
教你用eclipse连接mysql数据库
MySQL 慢查询日志深入理解
You might like
discuz Passport 通行证 整合笔记
2008/06/30 PHP
用PHP为SHOPEX增加日志功能代码
2010/07/02 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
JS设置cookie、读取cookie
2016/02/24 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
如何使用pm2快速将项目部署到远程服务器
2019/03/12 Javascript
微信小程序自定义模态弹窗组件详解
2019/12/24 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
Python类的动态绑定实现原理
2020/03/21 Python
html5的canvas实现3d雪花飘舞效果
2013/12/27 HTML / CSS
2014年应届大学生自我评价
2014/01/09 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
文明单位申报材料
2014/12/23 职场文书
横店影视城导游词
2015/02/06 职场文书
储备店长岗位职责
2015/04/14 职场文书
实习感想范文
2015/08/10 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
Java实现给Word文件添加文字水印
2022/02/15 Java/Android