mysql 流程函数_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 salaryVALUES(1,1000),(2,2000),(3,3000),(4,4000),(5,5000),(1,NULL);

70dd62efe8fff041156175dfe27fa399.png

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

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

ace5d1529cdf5005c1663ff3cb73384f.png

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

SELECT IFNULL(salary,0) FROM salary;

f910e1a88643388562a29af1fea976d3.png

三 , case 流程

判断高底薪

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

991ab558fd7237f7a251b1ee5953cb94.png

设置多个分支判断

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

3ce617725619fd72e53116cbe3ce7642.png

四 ,  其他常用函数

函数

功能

database()

返回当前函数

version()

返回当前数据库版本

user()

返回当前的登登录用户名

inet_aton(ip)

返回ip地址的数字表示

inet_natoa(num)

返回数字代表的ip地址

password(str)

返回字符串str的加密版本

md5()

返回字符串str的MD5值

database()

SELECT DATABASE();

03a9ded549106cf1ff065c50f6106c09.png

version()

SELECT VERSION();

c3382f8f8c07e11f2224ee4f3fb7997d.png

user()

SELECT USER();

11e1761e91add9fdfb71c616a0af8f48.png

inet_aton(ip)

SELECT INET_ATON(‘192.168.1.1‘)

dc82163bf5cf0bcf32254ccae7c93679.png

inet_natoa(num)

SELECT INET_ATON(‘3232235777‘)

c3d6944523d895c71cfb3ac5b2952e18.png

password(str)

SELECT PASSWORD(‘123456‘)

92981171f90c7c455baf9a59ba094a90.png

MD5()

SELECT MD5(‘12345‘)

96156d326f35708c1b9544977837da8a.png

cd5e012b16d01e04796f83c4c4ea2341.gif

原文:https://www.cnblogs.com/kingle-study/p/9910963.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值