mysql指明小数点位数_MySQL中的常见函数

字符函数

length(str):用于获取参数值得字节个数,其中汉字算3位。

concat(列表):列表所在列的内容进行拼接。

upper、lower:将字符进行大小写转换。

substr、substring:获取子字符串,指定起始索引(从1开始)和长度。

select substr('字符串',[index,]length);

instr:查询字符串中子字符串第一次出现对应的索引位置(从1开始)。

select instr('字符串','子字符串');

trim:用于去除字符串中前后指定的字符串(默认是空格)。

select trim ('指定字符串' from 字符串);

lpad:用指定的字符实现左填充实现指定长度

select lpad (字符串,长度,'指定字符串');

rpad:用指定的字符实现右填充实现指定长度

replace:将字符串中指定的字符替换成别的字符

select replace('字符串','指定字符','别的字符');

数学函数

round(值,小数点位数):保留小数点后几位

cell(值):向上取整

floor(值):向下取整

truncate(值,小数点位数):直接截断 ,不考虑四舍五入

mod(被操作数,操作数):直接取模

日期函数

now():返回当前的系统日期和时间

curdate():系统日期

curtime():系统时间

year/mouth/day(日期):获取对应的部分

str_to_date('字符串','源匹配格式'):

例如在业务中date可能以’4-3 1992‘的形式表示与数据库中的格式不符合,现在用模板进行匹配然后输出格式化的日期可以用以下的格式:

select * from emploees where hiredate = str_to_date('4-3 1992','%c-%d %Y');

8deda54b860a

日期格式符

data_format:将日期转换成指定格式字符

select date_format(now(),'%y年%m月') from emploees;

其他函数

select version();

select database();

select user();

以上函数查询当前运行环境的版本、数据库和用户。

datediff(大日期,小日期):计算出两个日期间的间隔

流程控制函数

if()函数:if(运算式子,true的对应项,false的对应项);类似三元运算符

case()函数:

将传统的switch语句的switch、case、:和default转换成case、when、then和else,并在末尾加上end。->等值判断

select salary as 原始工资,department_id,

case department_id

when department_id = 30 then salary * 1.1

when department_id = 40 then salary * 1.2

else salary

end as 新工资

from emploees;

可以用作多重if语句(if() {}else if() {}else{} )的作用。->区间判断

select salary,

case

when salary > 2000 then 'A'

when salary > 1500 then 'B'

else 'C'

end as 新评级

from employees;

分组函数(聚合函数):用作统计功能

sum(字段):计算出该字段下的值之和

select sum(salary) from employees;

注意:

min\max\avg\count也类似,count是指明个数null不计入时的项数

sum、avg都针对数值型,字符型不会报错但没有意义。

max、min和count对字符串有意义

max、min对日期型字符串也可用

sum、avg都忽视了null值,avg被除数的个数不包括null项

与组合函数一同查询的字段要求是group by后的字段,保障了一对一

count(字段):用于统计该字段中不为null的记录的个数,可以和distinct结合

select count(1) 或者 select count(*);经常用于统计记录的条数

select count(distinct salary) from employees;

分组查询

通过group by 字段的形式对整个子表进行分组然后再以分组函数对某些字段进行结果唯一性的运算。

select 分组函数,字段

from 表

[where 筛选条件]

group by 分组的字段;

[order by 子句]

注意:鉴于group by 会对字段内容进行分组再进行查询操作,意味着展示出来的子表上的记录数目是依赖于num_group的,因此除了group by后面的字段外在select后面的字段都需要经过分组函数唯一性处理(本质上就是对每一个分组进行分组操作获得在对应分组里面的唯一值才可以匹配规格)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值