mysql常用方法

1.CONCAT(str1,str2,...)

mysql> SELECT CONCAT('My', 'S', 'QL');

        -> 'MySQL'

mysql> SELECT CONCAT('My', NULL, 'QL');

        -> NULL

mysql> SELECT CONCAT(14.3);

        -> '14.3'

example:
select * from member where concat(',',interest,',') like '\'footer\''

2.IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

mysql> SELECT IF(1>2,2,3);

        -> 3

mysql> SELECT IF(1<2,'yes ','no');

        -> 'yes'

mysql> SELECT IF(STRCMP('test','test1'),'no','yes');

        -> 'no'

如果expr2 或expr3中只有一个明确是 NULL,则IF() 函数的结果类型 为非NULL表达式的结果类型。 

expr1 作为一个整数值进行计算,就是说,假如你正在验证浮点值或字符串值,   那么应该使用比较运算进行检验。 

mysql> SELECT IF(0.1,1,0);

        -> 0

mysql> SELECT IF(0.1<>0,1,0);

        -> 1

example
select *,IF(vip_type=2,1,0) as v from table order by v desc

3.REPLACE(str,from_str,to_str)
返回字符串str 以及所有被字符串to_str替代的字符串from_str 。

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');

        -> 'WwWwWw.mysql.com'

这个函数支持多字节字元。

4.GROUP_CONCAT(expr)

select id,pid,group_concat(id) as ids from table where pid>0 group by pid


posted @ 2013-06-24 20:34  傲雪星枫  阅读(140)  评论(0)    收藏  举报