mysql 流程函数

Posted kingle66

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 流程函数相关的知识,希望对你有一定的参考价值。

  一 , 流程函数

函数 功能
if(value,t f)

 

如果value是真,返回t;否则返回f

ifnull(value1,value2)

如果valve1不为空返回value1,否则返回value2

case when [value1]

then [result]...else[defalult]END

如果value1是真,返回result1,否则返回defalut

case [expr ] when [value1]

then[result]...else[default]END

如果expr等于value1,返回result,否则返回defalut

二, if 流程

    

     创建测试数据库:

CREATE TABLE salary (userid INT,salary DECIMAL(9,2));
INSERT INTO salary VALUES(1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,NULL);

     

    判断高薪,我们这里如果认为高于2000属于高薪,其余为底薪

SELECT IF(salary>2000, \'high\',\'low\') FROM salary;

    

    判断是否有null,null不能参与运算,所以需要更改输出结果

SELECT IFNULL(salary,0) FROM salary;

    

三 , case 流程

    判断高底薪 

SELECT CASE WHEN salary<=2000 THEN \'low\' ELSE \'high\' END FROM salary;

    

    设置多个分支判断 

SELECT CASE salary WHEN 1000 THEN \'low\' WHEN 2000 THEN \'mid\' ELSE \'hihg\' END FROM salary;

    

四 ,  其他常用函数

函数 功能
database() 返回当前函数
version() 返回当前数据库版本
user() 返回当前的登登录用户名
inet_aton(ip) 返回ip地址的数字表示
inet_natoa(num) 返回数字代表的ip地址
password(str) 返回字符串str的加密版本
md5()

返回字符串str的MD5值

    

     database()

      SELECT DATABASE();

      

    version()

      SELECT VERSION();

      

    user()

      SELECT USER();
      

    inet_aton(ip) 

      SELECT INET_ATON(\'192.168.1.1\')

      

    inet_natoa(num)
      SELECT INET_ATON(\'3232235777\')
      
      

      password(str) 
      SELECT PASSWORD(\'123456\')

      

    MD5()

      SELECT MD5(\'12345\')

        

以上是关于mysql 流程函数的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——git命令操作一个完整流程

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

linux中怎么查看mysql数据库版本

mysql 强大的trim() 函数