日期:2014-05-16 浏览次数:20796 次
函数和语法: ?mod(n,m) ?= n%m 求余
?? ? ? ? ? ? ? ? ? ?位运算 ?| ?& ?~ ?分别为 位或, 位与, 位取反
BIT_COUNT(N) 求n的 位的个数
?
逻辑运算 ?not ! , or || , and &&,
?
比较运算 ?< , ?> ?, = , <> ?!= ?, <= , >= , <=>安全等于(可用于null的比较), is null, is not null
?
between ? n ?and m; ? in (...), ?not in (...)?
?
ISNULL(expr)
expr
是NULL
,ISNULL()
返回1
,否则它返回0
。COALESCE(list)
NULL
的单元。
mysql> select COALESCE(NULL,1); -> 1 mysql> select COALESCE(NULL,NULL,NULL); -> NULL
INTERVAL(N,N1,N2,N3,...)
N
< N1
,返回0
,如果N
<
N2
,返回1
等等。所有的参数被当作整数。为了函数能正确地工作,它要求N1
<N2
<N3
<
...
<Nn
。这是因为使用二进制搜索(很快)。
mysql> select INTERVAL(23, 1, 15, 17, 30, 44, 200); -> 3 mysql> select INTERVAL(10, 1, 10, 100, 1000); -> 2 mysql> select INTERVAL(22, 23, 30, 44, 200);?
?
?
字符串匹配 :like 关键字 % 匹配任意字符, _ 精确匹配一个字符
?? ? ? ? ? ? ? ? ??REGEXP 正则匹配
?? ? ? ? ? ? ? ? ?strcmp(str1,str2), ? ?strcmp('a','b') ? -1
?
IFNULL(expr1,expr2)
expr1
不是NULL
,IFNULL()
返回expr1
,否则它返回expr2
。IFNULL()
返回一个数字或字符串值,取决于它被使用的上下文环境。IF(expr1,expr2,expr3)
expr1
是TRUE(expr1<>0
且expr1<>NULL
),那么IF()
返回expr2
,否则它返回expr3
- ?
单目减。改变参数的符号。?ABS(X)?
返回X
的绝对值。?SIGN(X)?
返回参数的符号,为-1
、0
或1
,取决于X
是否是负数、零或正数。 ?MOD(N,M)??
% ??模 (类似C中的%
操作符)。返回N
被M
除的余数。?FLOOR(X)?
返回不大于X
的最大整数值。??
CEILING(X)?
返回不小于X
的最小整数值。??
ROUND(X)?返回参数X
的四舍五入的一个整数。
ROUND(X,D)?返回参数X
的四舍五入的有D
为小数的一个数字。如果D
为0
,结果将没有小数点或小数部分。 ?
EXP(X)
e
(自然对数的底)的X
次方。
mysql> select EXP(2); -> 7.389056 mysql> select EXP(-2); -> 0.135335
LOG(X)
X
的自然对数。
mysql> select LOG(2); -> 0.693147 mysql> select LOG(-2); -> NULL
如果你想要一个数字X
的任意底B
的对数,使用公式LOG(X)/LOG(B)
。
LOG10(X)
X
的以10为底的对数。
mysql> select LOG10(2); -> 0.301030 mysql> select LOG10(100); -> 2.000000 mysql> select LOG10(-100); -> NULL
POW(X,Y)
POWER(X,Y)
X
的Y
次幂。
mysql> select POW(2,2); -> 4.000000 mysql> select POW(2,-2); -> 0.250000
SQRT(X)
X
的平方根。
mysql> select SQRT(4); -> 2.000000 mysql> select SQRT(20); -> 4.472136
PI()
mysql> select