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 sql_mode修改不生效的原因及解决
May 07 MySQL
MySQL单表千万级数据处理的思路分享
Jun 05 MySQL
MySQL8.0.18配置多主一从
Jun 21 MySQL
MySql子查询IN的执行和优化的实现
Aug 02 MySQL
Mysql案例刨析事务隔离级别
Sep 25 MySQL
防止web项目中的SQL注入
Dec 06 MySQL
一次Mysql update sql不当引起的生产故障记录
Apr 01 MySQL
MySQL三种方式实现递归查询
Apr 18 MySQL
MySQL视图概念以及相关应用
Apr 19 MySQL
MySQL数据库表约束讲解
Jun 21 MySQL
SQL语句中EXISTS的详细用法大全
Jun 25 MySQL
MySQL 原理与优化之原数据锁的应用
Aug 14 MySQL
MySQL分库分表与分区的入门指南
MySQL8.0.24版本Release Note的一些改进点
Apr 22 #MySQL
详解MySQL的半同步
详解MySQL事务的隔离级别与MVCC
Apr 22 #MySQL
MySQL之高可用集群部署及故障切换实现
教你用eclipse连接mysql数据库
MySQL 慢查询日志深入理解
You might like
PHP使用者状态管理功能的应用
2006/10/09 PHP
15种PHP Encoder的比较
2007/03/06 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
HTML node相关的一些资料整理
2010/01/01 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
self.attachevent is not a function的解决方法
2017/04/04 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
Vue父子模版传值及组件传值的三种方法
2017/11/27 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
vue中typescript装饰器的使用方法超实用教程
2019/06/17 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
Python之eval()函数危险性浅析
2014/07/03 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
python游戏地图最短路径求解
2019/01/16 Python
pip install命令安装扩展库整理
2021/03/02 Python
详解HTML5中的picture元素响应式处理图片
2018/01/03 HTML / CSS
介绍一下grep命令的使用
2015/06/12 面试题
团队精神演讲稿
2013/12/31 职场文书
百度吧主申请感言
2014/01/12 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
超市食品安全承诺书
2015/04/29 职场文书
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
vue实力踩坑之push当前页无效
2022/04/10 Vue.js