MySQL 基本函数

类似C或者java 一样,为了方便用户使用,MySQL也提供了类似方法或者函数的方式,让数据的计算处理更加便捷。

一.基本函数

1.数学函数

abs  -- 绝对值
sqrt  -- 开方
pow(x,y)  -- 求幂
ceil(x)  -- 向上取整,即进一法
floor(x)  -- 向下取整,即去尾法
round(x)   -- 四舍五入
round(x,d)   -- 四舍五入,d即保留小数位数

应用实例:求一个店铺的每日的交易量 (买入卖出的总和,加入买入用负数表示,卖出用正数表示),那么总的交易量应该是:abs(买入)+abs(卖出),之前做过的股票的项目便是,分组求每一个客户的当日交易量,包括该用户当日卖出的股票买入的股票,但是在数据库中字段的表示通过+- 来表示买入还是卖出,这就会用到abs函数。而round函数,ceil函数, floor函数则是对账户资产的操作多点(按照实际需求)。

2.字符函数

length -- 字符长度
upper -- 转大写
lower -- 转小写
concat(字符串1,字符串2)   -- 字符串连接
substr(字符串,开始位置,长度)   -- 字符串剪切
replace(字符串,子串,替换串)   -- 字符串替换
lpad(字符串,填充个数,填充字符串)  -- 左填充
rpad(字符串,填充个数,填充字符)   -- 右填充
trim(字符串)  -- 去首尾空格    

应用场景:可能像upper,lowerlpad,rpad这样的函数用的比较少,那可能是没有那个应用场景,但是对于length,substr,replace这几个函数,我在一个对于视频认证的指标计算的时候用到过,主要当时视频认证结果描述字段存的是不是需要的数据,而且认证成功还是失败都必须通过这几个函数去取。contat函数的话,有时候行转列需要对行字段进行拼接,很自然就用到了。

3.日期函数

now()   -- 获得当前时间
sysdate  -- 获取当前系统时间
current_date  -- 获取当前日期
current_time  -- 获得当前的时间
current_timestamp -- 获得当前的时间戳
year(date类型的或字符串类型)   -- 获取年份
month(date类型或者字符串类型)  -- 月份
day(date类型或者字符串类型)   -- 日

日期计算:

Date_add('2018-09-09',interval 2 week)   -- 增加两周

Date_add('2018-09-09',interval 2 day)   -- 增加两天

Date_add('2018-09-09',interval 2 day)   -- 增加两月

Last_day('2019-02-08')    -- 该月的最后一天

关于Last_day相信做过上一节后面练习的朋友肯定知道了,HR在查询某一个时间段月底某一天一天的入职的员工信息可能用到了(当然有其他方式)。另外,**now()**可以用来结合出生年月日求解年龄,sysdate系统作为日期时间字段默认值等。

二.聚合函数(重点)

max     -- 最大值
min		-- 最小值
count    count(*)  -- 统计记录数   count(字段)  --统计字段数(非空的)  
avg		-- 平均值
sum()   -- 统计总和
对于这类函数,在实际工作中,一般需要进行计算的话,count,avg和sum的应用场景比较多,max
和min偏少,但是不同的业务偏向可能不同。

三.分组函数(重点掌握)

having 是对group by 分组之后的结果进行条件的限制,having主要是用于分组之后再次检索

having 和where的区别

顺序:having是在分组之后使用的

能否使用聚合函数:having可以使用聚合函数

四.加密函数(了解)

MD5(字符串)         -- md5加密   (可以解密,以前用的多,但是现在很多都不是单纯的一层MD5加密了)
sha(字符串)		-- sha加密   (现在一些软件会采用该加密方式)
password(字符串)   -- password函数加密(MySQL默认对用户名的加密方式)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值