MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1)[10]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 shuixin13 的 blog

+
加法:
mysql> select 3+5;
        -> 8
-
减法:
mysql> select 3-5;
        -> -2
*
乘法:
mysql> select 3*5;
        -> 15
mysql> select 18014398509481984*18014398509481984.0;
        -> 324518553658426726783156020576256.0
mysql> select 18014398509481984*18014398509481984;
        -> 0
最后一个表达式的结果是错误的,这是因为乘法结果超过了 64 位 bigint 计算范围。
/
除法:
mysql> select 3/5;
        -> 0.60
被 0 除将返回一个 null 结果:
mysql> select 102/(1-1);
        -> null
只有当在一个结果被转换到一个整数的语境中执行时,除法将会以 bigint 进行算术计算。

6.3.3.2 数学函数

所有的数学函数在发生错误的情况下,均返回 null

-
一元减。 改变参数的符号:
mysql> select - 2;
        -> -2
注意,如果这个操作符被用于一个 bigint,返回值也是一个 bigint!这就意味着,应该避免在一个可能有值 -2^63 的整数上使用 - 操作符!

abs(x)
返回 x 的绝对值:
mysql> select abs(2);
        -> 2
mysql> select abs(-32);
        -> 32
这个函数可安全地使用于 bigint 值。

sign(x)
-101 方式返回参数的符号,它取决于参数 x 是负数、0 或正数。
mysql> select sign(-32);
        -> -1
mysql> select sign(0);
        -> 0
mysql> select sign(234);
        -> 1
mod(n,m)
%
取模 (就如 c 中的 % 操作符)。返回 nm 除后的余数:
mysql> select mod(234, 10);
        -> 4
mysql> select 253 % 7;
        -> 1
mysql> select mod(29,9);
        -> 2
mysql> select 29 mod 9;
        -> 2
这个函数可安全地使用于 bigint 值。最后一个示例可在 mysql 4.1 中工作。

floor(x)
返回不大于 x 的最大整数值:
mysql> select floor(1.23);
        -> 1
mysql> select floor(-1.23);
        -> -2
注意,返回值被转换为一个 bigint

ceiling(x)
返回不小于 x 的最小整数:
mysql> select ceiling(1.23);
        -> 2
mysql> select ceiling(-1.23);
        -> -1
注意,返回值被转换为一个 bigint

round(x)
round(x,d)
将参数 x 四舍五入到最近的整数,然后返回。 两个参数的形式是将一个数字四舍五入到 d 个小数后返回。
mysql> select round(-1.23);
        -> -1
mysql> select round(-1.58);
        -> -2
mysql> select round(1.58);
        -> 2
mysql> select round(1.298, 1);
        -> 1.3
mysql> select round(1.298, 0);
        -> 1
注意,当参数在两个整数之间时, round() 的行为取决于 c 库的实现。某些取整到最近的偶数,总是向下取,总是向上取,也可能总是接近于零。如果你需要某种取整类型,应该使用一个明确定义的函数比如 truncate()floor() 代替。

div
整除。 类似于 floor(),但是它可安全地用于 bigint 值。
mysql> select 5 div 2
 -> 2
div 在 mysql 4.1.0 中新加入。

exp(x)
返回值 e (自然对数的底) 的 x 次方:
mysql> select exp(2);
        -> 7.389056
mysql> select exp(-2);
        -> 0.135335
ln(x)
返回 x 的自然对数:
mysql> select ln(2);
        -> 0.693147
mysql> select ln(-2);
        -> null
这个函数在 mysql 4.0.3 被新加入。 在 mysql 中,它是 log(x) 的同义词。

log(x)
log(b,x)
如果以一个参数调用,它返回 x 的自然对数:
mysql> select log(2);
        -> 0.693147
mysql> select log(-2);
        -> null
如果以两个参数调用,这个函数返回 x 任意底 b 的对数:
mysql> select log(2,65536);
        -> 16.000000
mysql> select log(1,100);
        -> null
任意底选项在 mysql 4.0.3 中被加入。log(b,x) 等价于 log(x)/log(b)

本文关键:MySQL 4.1.0 中文
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top