mysql基础10——函数

数学函数  处理数值数据

取整函数 

round(X,D)   X表示要处理的数 D表示要保留的小数位数 处理的方式是四舍五入

round(X) 保留0位小数 

金额要精确到分 说明保留两位小数

select round(salevalue,2) from demo.transactiondetails where transactionid=1 and itemnum=1;

ceil(X) 向上取整 返回大于等于X的最小int型整数

floor(X) 向下取整 返回小于等于X的最大int型整数

select c.membername,b.transaction,b.transdate,d.goodsname,a.savesvalue,
floor(a.salesvalues) as '积分'
from demo.transactiondetails as a
join demo.transactionhead as b on (a.transactionid=b.transactionid)
join demo.membermaster as c on (b.memberid=c.memberid)
join demo.goodsmaster as d on (a.itemnum=d.itemnum);

绝对值函数

abs(X)  获取X的绝对值

求余函数

mod(X,Y) 获取X被Y除后的余数

字符串函数

在金额前面加上¥符号使用字符串拼接函数

把一组数字以字符串的形式在网上传输,需要用到类型转换函数

字符串拼接

concat(s1,s2,...) 表示字符串s1,s2,...拼接起来 组成一个字符串

比如打印小票 ,要求打印2行,要求打印的整齐漂亮:

第一行是商品信息(商品名称 (商品规格));

第二行是数量 价格 折扣 和 金额4种信息 

打印第一行

select concat(goodsname,'(',specification,')') as 商品信息
from demo.goodsmaster where itemnum=1;

打印第二行

类型转换函数

1)先把数量转换为字符串  cast

cast(表达式 as char) 表示将表达式的值转换为字符串

select cast(quantity as char)
from demo.transactiondetails
where transactionid=1 and itemnum=1; 

2)计算字符串的长度  char_length

计算字符串的长度

char_length(字符串) 表示获取字符串的长度  (注意若是自己指定的一个特定的字符串,要加引号)

select char_length(cast(quantity as char)) as 长度
from demo.transactiondetails
where transactionid=1 and itemnum=1;

3)使用空格补齐长度(左对齐,先拼接字符串后补齐空格)

获取空格

space(n) 表示获取1个由n个空格组成的字符串

select char_length(cast(quantity as char))
space(7-char_length(cast(quantity as char))) as 数量
from demo.transactiondetails
where transactionid=1 and itemnum=1;

条件判断函数

ifnull(v1,v2) 如果v1的值不为空,就返回v1 否则返回v2  (注意!!!0和null不一样)

如果规格为空(NULL),就不要加规格了 ifnull(specification,'')

select concat(goodsname,'(',ifnull(specification,''),')') as 商品信息
from demo.goodsmaster where itemnum=1;

但是还存在()这样的一对括号

if(表达式,v1,v2) 表达式为真,则返回v1 否则返回v2 这里判断的是是否为真(0和null都为假)

select if(isnull(specification),goodsname,concat(goodsname,'(',specification,')') as 商品信息
from demo.goodsmaster where itemnum=1;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值