四、条件判断函数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)
详细解决方案
mysql函数2
热度:82 发布时间:2016-05-05 17:02:53.0
相关解决方案
- mysql 简单化 or能否实现
- 请问registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
- MySQL 5.5 Command Line Client 窗口1输密码就退出
- 请问上Linux平台上怎么搭建JDK \TOMCAT\MYSQL
- 在LINUX上配置 MySQL 开机自动 启动
- mysql 转 orocle java ssh项目一条 sql 句不通!
- 急求帮忙!mysql 【 Column count doesn't match value count 】,该怎么解决
- jsp中的注册登录系统(mysql)
- 上了个 MySQL 5.5.25 但是安装时出错了
- 求jsp博客源代码mvc+mysql,该如何解决
- java mysql 中文乱码有关问题
- 请教各位,使用PreparedStatement mysql 数据库 不回滚,盼望解答。多谢。 具体如上
- mysql Statement parameter 一 not set
- java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306,该怎么处理
- MyBatis 读取 Mysql Blob类型的SQL如何写呢
- JDBC MYSQL 驱动加载失败 JSP DAO ECLIPSE,该怎么解决
- Only a type can be imported. com.mysql.jdbc.Driver resolves to a package解决方案
- tomcat 中抛异com.mysql.jdbc.exceptions.MySQLTransactionRollbackException,该如何处理
- struts+iBatis+mysql,该如何解决
- mysql 有外键的插入解决方案
- JSP 更新 MySQL 语句时遇到异常了= =
- mysql,该如何处理
- +++++ mysql 插入成功,查询不到记录?
- MyBatis3.1.1 Insert 回到主键 long类型 MYSQL 数据库
- mysql:假若一个表中,有两个属性name和id,删除同名的保留id小的,问这样写有误吗
- java mysql where限制有关问题
- mysql 数据库,如果信息存在调出,如果不存在转到另一个jsp中解决思路
- mysql jdbc的配置解决方案
- java.lang.ClassNotFoundException:com.mysql.jdbc.Driver,该如何解决
- 救助。Mysql 的条件删除语句如何写,就是删除部门的时候,如果部门下有用户,就不能删除