第04章05节 查询DQL--数据处理函数(数字)
第04章05节 查询DQL--数据处理函数(数字)
CAMELLIA数据处理函数(数字相关)
一、rand()和rand(x)
rand()
生成0到1的随机浮点数。
rand(x)
生成0到1的随机浮点数,通过指定整数x来确定每次获取到相同的浮点值。
这里的整数相当于map中的key。
二、round(x)和round(x,y)四舍五入
round(x)
四舍五入,保留整数位,舍去所有小数
round(x,y)
四舍五入,保留y位小数
三、truncate(x, y)舍去
以上SQL表示保留两位小数,剩下的全部舍去。
四、ceil与floor
数字处理函数除了以上的之外,还有ceil和floor函数:
ceil
函数:返回大于或等于数值x的最小整数floor
函数:返回小于或等于数值x的最大整数
五、空处理
ifnull(x, y)
,空处理函数,当x为NULL时,将x当做y处理。ifnull(comm, 0)
,表示如果员工的津贴是NULL时当做0处理。
在SQL语句中,凡是有NULL参与的数学运算,最终的计算结果都是NULL:
看这样一个需求:查询每个员工的年薪。(年薪 = (月薪 + 津贴) * 12个月。注意:有的员工津贴comm是NULL。)
以上查询结果中显示SMITH等人的年薪是NULL,这是为什么,这是因为SMITH等人的津贴comm是NULL,有NULL参与的数学运算,最终结果都是NULL,显然这个需要空处理,此时就用到了ifnull函数: