mysql 函数

concat

Database changed
mysql> select concat('q','w','e');
+---------------------+
| concat('q','w','e') |
+---------------------+
| qwe                 |
+---------------------+
1 row in set (0.05 sec)

常见函数

  • 概念:类似于 java 的方法,将一组逻辑语句封装在方法体中,对外暴露方法名
  • 好处:隐藏了实现细节,提高代码的重用性
  • 特点:1. 叫什么(函数名) 2. 干什么(函数功能)
  • 分类:
    • 单行函数
      如 concat,length,ifnull 等
    • 聚合函数
      做统计使用,又称为统计函数,分组函数,组函数

单行函数

  • 字符函数
  • 数学函数
  • 日期函数
  • 其他函数(补充)
  • 流程控制函数(补充)

字符函数

  • length:获取参数的字节个数
    select length('小哥ge');
    结果是 8,utf8 一个汉字三个字节,一个字母一个字节
  • concat:拼接字符串
    select concat('xiaoge', 'handsome', 'best');
    结果是 ’xiaogehandsomebest‘
  • upper,lower
    upper:变大写,lower:变小写
  • substr/substring:截取从索引处和后面的字符,索引从 1 开始
SELECT SUBSTR('xiaoge is handsome',1,4);	//xiaoge,从第一个开始取,取四个
SELECT SUBSTR('xiaoge is handsome',11);		//handsome,从第 11 个开始取直到结尾,包括第 11 个
  • instr:获取字符串第一次出现的索引,如果没有,结果为 0
SELECT INSTR('xiaoge is handsome','xiaoge');	//1,xiaoge 在字符串中的第 1 位
select INSTR('xiaoge is handsome','is');		//8,is 在字符串中的第 8 位
  • trim:去除两端的空格或者指定字符或字符串
SELECT TRIM('  xiaoge is   handsome   ');	//xiaoge is   handsome
SELECT TRIM('2' from '22222 xiaoge is 2222  handsome 22222222');	// xiaoge is 2222  handsome ,注意前后都有一个空格,而且 2 的格式需要和 from 后面的格式一致,如果是字符串,那 2 也用字符串,如果是数值,2 也用数值
  • lpad:用指定字符实现左填充到指定长度,rpad:用指定字符实现右填充到指定长度,这里的长度是字符数,不是字节数
SELECT LPAD('handsome',18,'xiaoge');	//xiaogexiaohandsome
SELECT RPAD('handsome',4,'xiaoge');	//hand,数量小于原来的字符串的数量,就按原来的字符串取
SELECT LPAD('handsome',9,'xiaoge');	//xhandsome
  • replace:替换,第一个参数是原字符串,第二个参数是想要替换的字符串,第三个参数是想要替换成的字符串,如果有多个,就替换多个
SELECT REPLACE('girl love xiaoge, girl are beautiful', 'girl', 'girls');	//girls love xiaoge, girls are beautiful

数学函数

  • round:四舍五入,可以加 1 个或者 2 个参数,如果 1 个参数默认从小数点后一位开始舍入,如果两个参数,第二个参数值是保留几位
SELECT ROUND(1.254);	//1
SELECT ROUND(1.254,1);	//1.3
  • ceil:向上取整,返回 >=该参数的最小整数
SELECT CEIL(1.01);	//2
SELECT CEIL(1.00);	//1
  • floor:向下取整,返回 <=该参数的最大整数
SELECT FLOOR(1.99);		//1
SELECT FLOOR(2.00);		//2
  • truncate:截断,第二个参数表示小数点后保留位数
SELECT TRUNCATE(1.0999,1);	//1
  • mod:取模/取余相当于 %,有负数看被除数,被除数为正,结果为正;被除数为负,结果为负
SELECT MOD(5,3);	//2
SELECT MOD(1,4);	//1
SELECT MOD(-10,3);	//-1
SELECT MOD(-10,-3);		//-1
SELECT MOD(10,-3);		//1

日期函数

  • now:当前系统日期和时间
  • curdate:当前系统日期,不包含时间
  • curtime:当前时间,不包含日期
  • year、month…:年月日时分秒
SELECT NOW();	//2020-06-11 23:07:11
select CURDATE();	//2020-06-11
select CURTIME();	//23:07:11
SELECT YEAR(NOW());		//2020
select MONTHNAME(NOW());	//June
SELECT STR_TO_DATE('20/6-11','%y/%c-%d');	//20-06-11,转换成固定格式的日期
SELECT DATE_FORMAT('2020-06-11','%y年%c月%d日');		//20年6月11日

在这里插入图片描述

流程控制函数

  • if,相当于三元运算符,if…else…
SELECT IF(10>11,'true',0);	//0

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值