zoukankan      html  css  js  c++  java
  • 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()返回server的连接数
    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)


  • 相关阅读:
    什么是架构
    jenkins权限插件配置
    解决Error response from daemon: oci runtime error: container_linux.go:247: starting container process
    解决“/tmp/crontab bad minute”问题
    yml链接mysql路径serverTimezone=UTC的那些坑
    java请求头导致特殊字符为空问题
    使用ssh连接WSL
    系统设计与任务分配
    需求规格说明书
    选题报告
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5065505.html
Copyright © 2011-2022 走看看