MySQL04(常见的函数)

#常见的函数

/*
  常见的函数
	 概念:类似于Java/js中的方法,将一组逻辑语句,封装在方法体内,对外暴露方法名
	   -隐藏了实现细节
		 -提高了代码的重用性
		 
	调用:select 函数名(实参列表)
        from 表名
			
	分类:
     -单行函数 concat(),length(),ifnull()
		 -分组函数 功能:做统计使用,聚合函数,组函数
		 
单行函数:字符函数
  length,concat,substr,substring,instr,trim,upper/lower,lpad/rpad,replace
数学函数:
abs,round,ceil,floor,truncate,mod

	
	
*/
# 字符函数
# length()获取参数值的字节数
select lenrth('李政');

# upper/lower 大写/小写
select upper('lizheng');

# 案例:将姓变大写,名变小写,然后拼接
select concat(upper(last_name),lower(first_name))
from employees;

# substr/substring 截取指定索引位置的字符串

# 截取从指定索引位置后面的所有字符
select substr('abcdefg',4);
select substr('abcdefg',4,2);

# 查询last_name,其中首字母大写,其他字符小写,然后用_拼接起来
use myemployees;
select concat(upper(substr(last_name,1,1)),'_',lower(substr(last_name,2)))
from employees;

# instr 返回子串第一次出现的索引,如果找不到,则返回0
select instr('aabbccdd','d');

# trim 去除前后指定的字符,默认是空格
select trim(' aabbcc ');
select trim('a' from 'aaa李政aaaa');

# lpad/rpad 左/右填充
/*
  第一个参数表示需要填充的字符或字段
	第二个参数表示填充后占据的列宽
	第三个参数表示用什么内容填充
*/
select lpad('李政','19','a');

# replace 替换
/*
  第一个参数,表示需要替换的字符串
	第二个参数,表示需要替换的字符串的子串
	第三个参数,表示子串替换后显示的内容
*/
select replace('小鸟','鸟','马');

# strcmp(参数1,参数2),比较两个字符大小
/*
  如果参数1比参数2大,则返回1
	如果参数1比参数2小,则返回-1
	如果参数1与参数2相等,则返回0
*/
select strcmp('aaa','abb');

# left/right 截取子串(从左截取/从右截取)
select left('aaabbbsssdddggg',3);

# 数学函数
# abs 取绝对值
select abs(-2.4);

# round 四舍五入
select round(-1.55);
# 指定位数   保留有效数字的位数
select round(1.558,2);

# ceil 向上取整,返回 >= 该参数的最小整数
select ceil(1.15);

# floor 向下取整,返回 <= 该参数的最大整数

# truncate 截断
/*
  第一个参数,表示要截断的数值
	第二个参数,表示要截断小数点后几位
*/
select truncate(1.2345,2);

# mod 取余
select mod(10,3);

# 日期函数
# now() 返回当前系统日期+时间
select now();

# curdate() 返回当前系统日期,不包括时间
select curdate();

# curtime() 返回当前系统时间,不包括日期
select curtime();

# datediff() 返回两个日期之差
select datediff('2008-5-12','2022-3-8');

# year(日期) 年份
select year(now());

# dete_format() 将日期转换为指定格式的字符
select date_format(now(),'%y-%m-%d %H:%i:%s') as out_put;

# 案例:查询员工的名和入职日期(xx月xx日 xx年)
use myemployees;
select last_name,date_format(hiredate,'%y年%m月%d日')
from employees;

# str_to_date 将字符通过指定的格式转换为日期
# 案例:查询入职日期为1992-4-3的员工
use myemployees;
select * from employees
where hiredate = str_to_date('1992-4-3','%Y-%m-%d');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值