阅读背景:

mysql函数二

来源:互联网 

四、条件断定函数
1、if(expr,v1,v2)函数:成立返回成果v1,否则成果v2
例:select id,if(grade>=60,"pass","fail") from t;
2、IFNULL(V1,V2)函数:如果空显示v2,否则显示v1
例:mysql> select a,ifnull(a,"no") from pet76;
+------+----------------+
| a    | ifnull(a,"no") |
+------+----------------+
|  100 | 100            |
| NULL | no             |
|   12 | 12             |
+------+----------------+
3 rows in set (0.01 sec)
3、CASE函数
格局:case when expr1 then v1 [when expr2 then v2...] [else vn] end
格局:case expr when e1 then v1 [when e2 then v2...] [else vn] end
例1:select grade,case when grade>60 then "good" when grade=60 then "pass" else "fail" end level from t;//level是字段别号
例2:select grade,case grade when 90 then "good" when 60 then "pass" else "no grade" end level from t;//level是字段别号
五、体系信息函数
version()返回数据库的版本号
connection_id()返回服务器的衔接数
database(),schema()返回当前数据库名
user(),system_user(),session_user()返回当前用户
current_user(),current_user返回当前用户
charset(str)返回字符串str的字符集
collation(str)返回字符串str的字符排列方法
last_insert_id()返回最近生成的auto_increment值,如果一条insert语句插入多条记载,则查出来是第一个值插入时的取值。
六、加密函数
1、password(str)可以对字符串str进行加密,该加密是不可逆的,重要给用户的密码加密。
2、MD5(srtr)可以对字符串str进行加密,重要对普通数据进行加密
3、encode(str,pswd_str)可以用字符串pswd_str加密字符串str。加密成果是个二进制数,必需用blob类型的字段来保留它
4、decode(crypt_str,pswd_str)可以用字符串pswd_str来为crypt_str解密。crypt_str是通过encode(str,pswd_str)加密后的二进制数据。
七、其他函数
1、format(x,n)可以将数字x进行格局化,将x保留到小数点后n位。
例:mysql> select format(2.3456,3);
+------------------+
| format(2.3456,3) |
+------------------+
| 2.346            |
+------------------+
1 row in set (0.04 sec)
2、ASCII(s)返回字符串s的第一个字符的ascii码
bin(x)返回x的二进制编码
hex()返回x的十六进制编码
oct(x)返回x的八进制编码
conv(x,f1,f2)将x从f1进制数变成f2进制数
例:
mysql> select conv(16,10,2);
+---------------+
| conv(16,10,2) |
+---------------+
| 10000         |
+---------------+
1 row in set (0.00 sec)
3、inet_aton(ip)函数:可以将ip地址转化为数字表现,ip须要加引号
inet_ntoa(n)函数:可以将数字n转换成ip的情势表现
例:mysql> select inet_aton("192.168.1.125");
+----------------------------+
| inet_aton("192.168.1.125") |
+----------------------------+
|                 3232235901 |
+----------------------------+
1 row in set (0.64 sec)
4、get_lock(name,time)定义一个名称为name延续时光长度为time秒的锁,如果锁定胜利返回1,如果尝试超时,返回0;如果遇到毛病返回null。
release_lock(name)消除名称为name的锁。如果解锁胜利返回1;如果尝试超时返回0;如果解锁失败返回null。
is_free_lock(name)断定是不是应用名为name的锁,如果应用返回0,否则返回1.
例:mysql> select get_lock("my",10);
+-------------------+
| get_lock("my",10) |
+-------------------+
|                 1 |
+-------------------+
1 row in set (0.08 sec)
5、benchmark(count,expr)函数将表达式expr反复履行count次,然后返回履行时光。重要用来断定mysql处置表达式的速度。
6、convert(s using cs):将字符串s的字符集变成cs
例:mysql> select charset("abc"),charset(convert("abc" using utf8));
+----------------+------------------------------------+
| charset("abc") | charset(convert("abc" using utf8)) |
+----------------+------------------------------------+
| gbk            | utf8                               |
+----------------+------------------------------------+
1 row in set (0.00 sec)
6、cast(x as type)和convert(x,type)这两个函数只对binary、char、date、datetime、time、signed integer、unsigned integer这些类型起作用。注意:此值转变输出值的数据类型,没有转变表中字段的类型。
例:mysql> select cast("2009-10-28 19:47:59" as date),convert("2009-10-28 19:47:59",time);
+-------------------------------------+-------------------------------------+
| cast("2009-10-28 19:47:59" as date) | convert("2009-10-28 19:47:59",time) |
+-------------------------------------+-------------------------------------+
| 2009-10-28                          | 19:47:59                            |
+-------------------------------------+-------------------------------------+
1 row in set (0.10 sec)四、条件断定函数
1、if(expr,v1,v2)函数:成立返回成果v1,否则成果v2
例:sele




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: