MySQL案例——常见函数

#常见函数

概念:类似于java的方法,将一组逻辑语句封装在方法体中, 对外暴露方法名
好处:1、隐藏了实现的细节
2、提高了代码的复用性

调用:select 函数名 【from 表名】;     

特点:
1、叫什么(函数名)
2、干什么(函数功能)

分类:

1、聚合函数
avg() 平均值
count() 总行数
max() 最大值
min() 最小值
sum() 求和

2、字符串函数

concat() 字符串连接
lower() 将字符串转为小写
upper() 将字符串转为大写
substring() 提取字符串
replace()替换字符串
length() 获取参数值的字节数

3、日期函数

now() 返回当前日期和时间
year() 返回日期中的年
month() 返回日期中的月
datediff(date1,date2)
返回date1和date2之间相隔的天数

4、数学函数

ceil() 向上取整 例:ceil(2.1); 返回3
floor() 向下取整 例: floor(2.9); 返回2
rand() 返回0-1之间的随机数

一、聚合函数
avg()案例:
#求所有员工工资的平均值

SELECT AVG(salary) AS 平均工资 FROM employees;

count()案例:
#求员工表中一共有多少个员工

SELECT COUNT(employee_id) AS 员工数 FROM employees;
SELECT COUNT(commission_pct) AS 有奖金的人数 FROM employees;
SELECT COUNT(*) 员工数 FROM employees;

count():表示所有列
count(
):不管有没有包含空值,都会返回它的行数

max()案例:
#求最高工资

SELECT MAX(salary) 最高工资 FROM employees;

min()案例:
#求最低工资

SELECT MIN(salary) 最低工资 FROM employees;

sum()案例
#求公司一个月发工资的总额

SELECT SUM(salary) 总额 FROM employees;

二、字符函数
length() 获取参数值的字节个数

SELECT LENGTH('john');
SELECT LENGTH('欧阳江兵');
SELECT *,LENGTH(first_name) 姓名字节数 FROM employees;

concat() 拼接字符串
案例:将员工表中的姓名拼接起来
#last_name表示姓 , first_name表示名

SELECT CONCAT(last_name,' ',first_name) 姓名 FROM employees;

substring 、substr() 提取字符串
#注意:索引从1开始

#截取从指定索引处后面所有字符

SELECT SUBSTR('xx又在睡觉',6);

#截取从指定索引处指定长度的字符

SELECT SUBSTR('xx又在睡觉',1,3);

#upper将字符转换为大写

SELECT UPPER(last_name) FROM employees;

#lower将字符转换为

SELECT LOWER(last_name) FROM employees;

小练习:将姓名中的首字符大写,其他字符小写,然后用_拼接

SELECT CONCAT(UPPER(SUBSTR(last_name,1,1)),
SUBSTR(last_name,2),'_',LOWER(first_name))
FROM employees;

SUBSTR(last_name,1,1) #提取到首字符
UPPER(SUBSTR(last_name,1,1)) #将首字符大写
SUBSTR(last_name,2) #拿到首字母之后的所有字符
LOWER(first_name) #将名字的字母小写

#trim() 去除前后空格

SELECT LENGTH(TRIM('    小 可 爱   '));
SELECT LENGTH('    小 可 爱   ');
SELECT TRIM('d' FROM 'dddddd小dd可dd爱dddd')

trim(‘字符1’ from ‘字符1字符1 字符字符 字符1’)
可以去除字符串中前后跟字符1一样的字符

#replace() 替换

SELECT REPLACE('sasa睡觉睡觉睡觉','sasa','ewew') 替换;

三、数学函数
round 四舍五入

SELECT ROUND(1.34);
SELECT ROUND(3.1495926,2);#第二个参数表示小数点后取几位

ceil 向上取整 , 返回>=该参数的最小整数

SELECT CEIL(1.1);

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

SELECT FLOOR(1.9);

四、日期函数
now() 返回当前系统日期

SELECT NOW();

curdate() 返回当前系统日期,不包含时间

SELECT CURDATE();

curtime() 返回当前时间,不包含日期

SELECT CURTIME();

#可以获取指定年月日的 year() month() day()

SELECT YEAR('2000-1-27'); #返回2000年
SELECT YEAR(NOW());    #返回当前系统日期的年份
SELECT MONTH(NOW());   #返回当前系统日期的月份
SELECT DAY(NOW());     #返回当前系统日期的日期
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值