一 , 流程函数
函数
功能
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);
判断高薪,我们这里如果认为高于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‘)
原文:https://www.cnblogs.com/kingle-study/p/9910963.html