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(,));
INSERT INTO salary VALUES(,),(,),(,),(,),(,),(,NULL);

判断高薪,我们这里如果认为高于2000属于高薪,其余为底薪
SELECT IF(salary>, 'high','low') FROM salary;

判断是否有null,null不能参与运算,所以需要更改输出结果
SELECT IFNULL(salary,) FROM salary;

三 , case 流程
判断高底薪
SELECT CASE WHEN salary<= THEN 'low' ELSE 'high' END FROM salary;

设置多个分支判断
SELECT CASE salary WHEN THEN 'low' WHEN 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 流程函数的更多相关文章
- mysql 流程函数 存储引擎 InnoDB简单特性
建表及插入数据语句: mysql> create table salary(userid int,salary decimal(9,2)); Query OK, 0 rows affected ...
- MySQL流程函数
#如果value是真,返回t:否则返回f if(value,t f) #如果value1不为空,返回value1,否则返回value2 ifnull(value1,value2) #如果value1是 ...
- mysql流程函数if之类
表名: salary ———————— userid | salary| ———————— 1 | 1000 2 | 2000 3 | 3000 4 | null ... IF(value, t, f ...
- MySQL数据库学习笔记(四)----MySQL聚合函数、控制流程函数(含navicat软件的介绍)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL聚合函数、控制流程函数(含navicat软件的介绍)
MySQL聚合函数.控制流程函数(含navicat软件的介绍) 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据 ...
- MySQL自定义函数用法详解-复合结构自定义变量/流程控制
自定义函数 (user-defined function UDF)就是用一个象ABS() 或 CONCAT()这样的固有(内建)函数一样作用的新函数去扩展MySQL. 所以UDF是对MySQL功能的一 ...
- MySQL 聚合函数 控制流程函数
常用的聚合函数 1. AVG() 求平均值 mysql> AVG([DISTINCT] expr) -- 返回 expr 的平均值 mysql> select AVG(age) from ...
- MySQL聚合函数、控制流程函数
[正文] 一.navicat的引入:(第三方可视化的客户端,方便MySQL数据库的管理和维护) NavicatTM是一套快速.可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设 ...
- mysql 开发基础系列7 流程函数与其它函数
一.流程函数 -- 创建表来介绍 ,)); ,),(,), (,),(,),(,), (,NULL); SELECT * FROM salary 1. if(value,t,f) 超过2000的用h ...
随机推荐
- HDU 3333 Turing Tree (主席树)
题意:给定上一个序列,然后有一些询问,求区间 l - r 中有多少个不同的数的和. 析:和求区间不同数的方法是一样,只要用主席树维护就好. 代码如下: #pragma comment(linker, ...
- yum 安装telnet
检测是否安装 rpm -qa |grep telnet 安装 yum install xinetd yum install telnet-server yum -y install telnet 再次 ...
- Linux下的strerror是否线程安全?
下列是glibc-2.14中的源代码: 点击(此处)折叠或打开 char * strerror (errnum) int errnum; { char *ret = __strerror_r (err ...
- Java主线程如何等待子线程执行结束(转)
工作中往往会遇到异步去执行某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的产景, 这时候就需要使用线程了. 一个线程启动之后, 是异步的去执行需要执行的内容的, 不会影响主线 ...
- logback 常用参数配置详解
logback 常用配置详解(二) <appender> <appender>: <appender>是<configuration>的子节点,是负责写 ...
- MariaDB 一些SQL语句的执行
通过拼接的TAG_NAME字符串获取对应的TAG_ID字符串 形如: '丹药|练功流|轻松|学生|学院风' 查询结果:'10|35|36|40' SELECT GROUP_CONCAT(TAG_ID ...
- android和.net webservice中的DES加密算法
也是看了一堆的例子,本身并不会写加密算法,好在只要会用就行了,我们把在app中使用的参数加密,然后在.net端的webservice中进行解密,本身并没有什么问题,但是android下和.net下的d ...
- 上课总结-模电chapter 2
1.无明显失真时电压放大倍数——输出与输入电压的变化量之比 .无明显失真时 电流放大倍数——输出与输入电流的变化量之比 3.最大输出幅度 ①无明显失真时最大输出电压(或最大输出电流) ②交流有效值(U ...
- VIN-Fusion config with Realsense D435i
### First shot Copy the .launch file in package VINS-Fusion to the directory of realsense2_cameara/l ...
- 1233: 传球游戏 [DP]
1233: 传球游戏 [DP] 时间限制: 1 Sec 内存限制: 128 MB 提交: 4 解决: 3 统计 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做 ...