MySQL中的单行函数

特点

  1. 操作数据对象
  2. 接受参数返回一个结果
  3. 只对一行进行变换
  4. 每行返回一个结果
  5. 可以嵌套
  6. 参数可以是一列或一个值

绝对值函数——ABS(Exp1)

ABS(Exp1) 表示的是返回 Exp1 的绝对值。

#取绝对值
SELECT ABS(-1),ABS(1),ABS(2.34),ABS(-3.421),ABS(0)
FROM DUAL;

在这里插入图片描述

取符号函数——SIGN(Exp1)

SIGN(Exp1) 表示的是返回 Exp1 的符号,正数返回1,负数返回-1,0返回0。

#取符号
SELECT SIGN(1),SIGN(-2),SIGN(4.365),SIGN(-6.425),SIGN(0)
FROM DUAL;

在这里插入图片描述

Π——PI()

PI() 表示的是返回圆周率的值。

#返回圆周率
SELECT PI()
FROM DUAL;

在这里插入图片描述

最大最小整数

CEIL(Exp1)

CEIL(Exp1) 表示返回大于或等于某个值的最小整数。

#返回大于或等于某个值的最小整数
SELECT CEIL(3.42),CEIL(2),CEIL(0.11),CEIL(0),CEIL(-0.45),CEIL(-4.53),CEIL(-4)
FROM DUAL;

在这里插入图片描述

CEILING(Exp1)

CEILING(Exp1) 表示返回大于或等于某个值的最小整数。

#返回大于或等于某个值的最小整数
SELECT CEILING(3.42),CEILING(2),CEILING(0.11),CEILING(0),CEILING(-0.45),CEILING(-4.53),CEILING(-4)
FROM DUAL;

在这里插入图片描述

FLOOR(Exp1)

FLOOR(Exp1) 表示返回小于或等于某个值的最小整数。

#返回小于或等于某个值的最小整数
SELECT FLOOR(3.42),FLOOR(2),FLOOR(0.11),FLOOR(0),FLOOR(-0.45),FLOOR(-4.53),FLOOR(-4)
FROM DUAL;

在这里插入图片描述

最大最小值

LEAST(Exp1,Exp2,Exp3…)

LEAST(Exp1,Exp2,Exp3…) 表示的是返回列表中的最小值。

#返回列表中的最小值
SELECT LEAST(1,2,3,4),LEAST(1.2,3.2,0.9),LEAST(3,-0.54,1.32)
FROM DUAL;

在这里插入图片描述

GREATEST(Exp1,Exp2,Exp3…)

GREATEST(Exp1,Exp2,Exp3…) 表示的是返回列表中的最大值。

#返回列表中的最大值
SELECT GREATEST(1,2,3,4),GREATEST(1.2,3.2,0.9),GREATEST(3,-0.54,1.32)
FROM DUAL;

在这里插入图片描述

余数——MOD(Exp1,Exp2)

MOD(Exp1,Exp2) 表示的是返回 Exp1 除以 Exp2 后的余数。

#返回相除后的余数
SELECT MOD(3,4),MOD(2,1),MOD(4,1.3),MOD(6,-2),MOD(-2,6),MOD(-4,-3),MOD(0,-1),MOD(1,0)
FROM DUAL;

在这里插入图片描述
取余规则:

  • 正数 % 正数 = 余数
  • 正数 % 负数 = 正数 % 负数的绝对值
  • 负数 % 正数 = -(负数的绝对值 % 正数)
  • 负数 % 负数 = -(负数的绝对值 % 负数的绝对值)
  • 0 % 任何非 0 数 = 0
  • 任何数 % 0 = null

随机值

RAND()

RAND()表示的是返回0~1的随机值。

#返回随机值
SELECT RAND(),RAND(),RAND()
FROM DUAL;

在这里插入图片描述

RAND(Exp1)

RAND(Exp1)表示的是返回0~1的随机值,但Exp1表示种子值,相同的种子值会返回相同的随机值。

#返回随机值
SELECT RAND(1),RAND(1),RAND(2),RAND(3)
FROM DUAL;

在这里插入图片描述

保留小数(截留)函数

ROUND(Exp1)

ROUND(Exp1)表示的是返回一个对 Exp1 值进行四舍五入后,最接近于 Exp1 的整数。

#保留小数
SELECT ROUND(3.14159),ROUND(342.645)
FROM DUAL;

在这里插入图片描述

ROUND(Exp1,Exp2)

ROUND(Exp1,Exp2) 表示的是返回一个对 Exp1 值进行四舍五入后最接近 Exp1 的值,并保留到小数点后面 Exp2 位。

#保留小数
SELECT ROUND(3.14159,0),ROUND(342.645,1),ROUND(435.648,2),ROUND(354,-1),ROUND(354,-2),ROUND(354,-3)
FROM DUAL;

在这里插入图片描述

  1. 保留小数是进行四舍五入后的保留
  2. Exp2 为正数表示保留小数点后 Exp2 位位数
  3. Exp2 为负数表示保留小数点前 Exp2 位位数,如果保留后 Exp1 为0,则按0进行输出

TRUNCATE(Exp1,Exp2)

TRUNCATE(Exp1,Exp2) 表示的是返回一个对 Exp1 值截留 Exp2 位并不进行四舍五入的值。

#保留小数
SELECT TRUNCATE(3.14159,0),TRUNCATE(342.645,1),TRUNCATE(435.648,2),TRUNCATE(354,-1),TRUNCATE(354,-2),TRUNCATE(354,-3)
FROM DUAL;

在这里插入图片描述

平方根——SQRT(Exp1)

SQRT(Exp1) 表示的是返回 Exp1 的平方根,当 Exp1 的值为负数时,返回NULL。

#对数进行开方
SELECT SQRT(3),SQRT(3.5),SQRT(4),SQRT(0),SQRT(-3),SQRT(-4.3)
FROM DUAL;

在这里插入图片描述

平方——pow(Exp1,Exp2)

pow(Exp1,Exp2) 表示的是计算Exp1的Exp2次方的值。

#对数进行平方
SELECT POW(3,2),POW(-3,3),POW(-3,2),POW(4.1,1.7)
FROM DUAL;

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值