日期:2014-05-16  浏览次数:20796 次

mysql 语法入门 1

函数和语法: ?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)
如果exprNULLISNULL()返回1,否则它返回0
COALESCE(list)
回来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);?
-> 0 ?

?

?

字符串匹配 :like 关键字 % 匹配任意字符, _ 精确匹配一个字符

?? ? ? ? ? ? ? ? ??REGEXP 正则匹配

?? ? ? ? ? ? ? ? ?strcmp(str1,str2), ? ?strcmp('a','b') ? -1

?

IFNULL(expr1,expr2)
如果expr1不是NULLIFNULL()返回expr1,否则它返回expr2IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。
IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>0expr1<>NULL),那么IF()返回expr2,否则它返回expr3
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END

数学公式:
- ?单目减。改变参数的符号。?
ABS(X)?返回X的绝对值。?
SIGN(X)?返回参数的符号,为-101,取决于X是否是负数、零或正数。 ?
MOD(N,M)??% ??模 (类似C中的%操作符)。返回NM除的余数。?
FLOOR(X)?返回不大于X的最大整数值。?

?

CEILING(X)?返回不小于X的最小整数值。?

?

ROUND(X)?返回参数X的四舍五入的一个整数。

ROUND(X,D)?返回参数X的四舍五入的有D为小数的一个数字。如果D0,结果将没有小数点或小数部分。 ?

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)
返回值XY次幂。
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()
返回PI的值(圆周率)。
mysql> select