数值函数
一、类型转换
转换函数把数据从一种类型转换为另一种。
语法: CAST(expr AS type)
描述:把表达式 expr 的值转换为 type 类型的数据,这个类型可以是以下值其中的 一个:
BINARY[(N)]
CHAR[(N)]
DATE
DATETIME
DECIMAL
SIGNED [INTEGER]
TIME
UNSIGNED [INTEGER]
例:当你想要在一个CREATE ... SELECT 语句中创建一个特殊类型的列,则cast函数会很有用:
CREATE TABLE new_table SELECT CAST('2000-01-01' AS DATE);
CAST(str AS BINARY) 将字符串转换为二进制数;
CAST(expr AS CHAR) 将表达式转换为字符串。
二、四则运算
四则运算可使用常见的算术操作符。
1、加号 +
mysql> SELECT 3+5;
8
2、减号 -
mysql> SELECT 3-5;
-2
3、乘号 *
mysql> SELECT 3*5;
15
4、除号 /
mysql> SELECT 3/5;
0.60
被零除的结果为 NULL:
mysql> SELECT 102/(1-1);
NULL
三、四舍五入round
ROUND 函数用于把数值字段舍入为指定的小数位数。
语法:ROUND(X) ROUND(X,D)
描述:ROUND(X) 返回参数X, 其值接近于最近似的整数。
ROUND(X,D) 返回 X ,其值保留到小数点后D位,而第D位的保留方式为四舍五入。
mysql> SELECT ROUND(-1.23);
-1
mysql> SELECT ROUND(-1.58);
-2
mysql> SELECT ROUND(1.58);
2
四、数学运算 次方,平方根,对数等
数学函数可以对数据库里的值根据数学规则进行运算。
最常见的数学函数包括:
-> 绝对值(ABS)
-> 平方根(SQRT)
-> 符号(SIGN)
-> 幂(POWER)
-> 指数(EXP)
-> 对数(LN、LOG、LOG2、LOG10)
-> 三角函数(SIN、COS、TAN、ASIN、ACOS、ATAN)
-> 上限和下限(CEIL、FLOOR)
大多数数学函数的语法是:FUNCTION(expression)
若发生错误,所有数学函数会返回 NULL 。
1、符号函数 SIGN
语法:SIGN(X)
描述:返回参数 -1、0或1,取决于X 的值为负、零或正。
mysql> SELECT SIGN(-32);
-1
mysql> SELECT SIGN(0);
0
mysql> SELECT SIGN(234);
1
2、上限函数 CEIL
语法:CEIL(X)
描述:返回不小于X 的最小整数值。
mysql> SELECT CEIL(1.23);
2
mysql> SELECT CEIL(-1.23);
-1
3、下限函数 FLOOR
语法:FLOOR(X)
描述:返回不大于X的最大整数值 。
mysql> SELECT FLOOR(1.23);
1
mysql> SELECT FLOOR(-1.23);
-2