mysql函数if为负数_MySQL的if,case语句
IF表达式
IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。
select *,if(sva=1,"男","女") as ssva from taname where sva != ""
作为表达式的if也可以用CASE when来实现:
select CASE sva WHEN 1 THEN '男' ELSE '女' END as ssva from taname where sva != ''
在第一个方案的返回结果中, value=compare-value。而第二个方案的返回结果是第一种情况的真实结果。如果没有匹配的结果值,则返回结果为ELSE后的结果,如果没有ELSE 部分,则返回值为 NULL。
例如:
SELECT CASE 1 WHEN 1 THEN 'one'
WHEN 2 THEN 'two'
ELSE 'more' END
as testCol
将输出one
IFNULL(expr1,expr2)
假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1; 否则其返回值为 expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。
mysql> SELECT IFNULL(1,0);
-> 1
mysql> SELECT IFNULL(NULL,10);
-> 10
mysql> SELECT IFNULL(1/0,10);
-> 10
mysql> SELECT IFNULL(1/0,'yes');
-> 'yes'
IFNULL(expr1,expr2) 的默认结果值为两个表达式中更加“通用”的一个,顺序为STRING、 REAL或 INTEGER。
IF ELSE 做为流程控制语句使用
if实现条件判断,满足不同条件执行不同的操作,这个我们只要学编程的都知道if的作用了,下面我们来看看mysql 存储过程中的if是如何使用的吧。
IF search_condition THEN
statement_list
[ELSEIF search_condition THEN]
statement_list ...
[ELSE
statement_list]
END IF
与PHP中的IF语句类似,当IF中条件search_condition成立时,执行THEN后的statement_list语句,否则判断ELSEIF中的条件,成立则执行其后的statement_list语句,否则继续判断其他分支。当所有分支的条件均不成立时,执行ELSE分支。search_condition是一个条件表达式,可以由“=、、>=、!=”等条件运算符组成,并且可以使用AND、OR、NOT对多个表达式进行组合。
例如,建立一个存储过程,该存储过程通过学生学号(student_no)和课程编号(course_no)查询其成绩(grade),返回成绩和成绩的等级,成绩大于90分的为A级,小于90分大于等于80分的为B级,小于80分大于等于70分的为C级,依次到E级。那么,创建存储过程的代码如下:
create procedure dbname.proc_getGrade
(stu_no varchar(20),cour_no varchar(10))
BEGIN
declare stu_grade float;
select grade into stu_grade from grade where student_no=stu_no and course_no=cour_no;
if stu_grade>=90 then
select stu_grade,'A';
elseif stu_grade<90 and stu_grade>=80 then
select stu_grade,'B';
elseif stu_grade<80 and stu_grade>=70 then
select stu_grade,'C';
elseif stu_grade70 and stu_grade>=60 then
select stu_grade,'D';
else
select stu_grade,'E';
end if;
END
注意:IF作为一条语句,在END IF后需要加上分号“;”以表示语句结束,其他语句如CASE、LOOP等也是相同的。
MySQL获取整数的函数CEIL(x)、CEILING(x)
CEIL(x)函数和CEILING(x)函数的意义相同,都用于返回大于或等于x的最小整数值,返回值转化为一个BIGINT。
实例:
使用CEIL(x)函数和CEILING(x)函数返回最小整数。SQL语句如下:
mysql>SELECT CEIL(0),CEIL(3.45),CEIL(-3.45),CEILING(3.45),CEILING(-3.45);
CEIL(x)函数和CEILING(x)函数的执行结果如下:
等于0的整数仍然为0,因此CEIL(0)的返回值为0;大于3.45的最小整数为4,因此返回值为4;-3.45是负数,大于-3.45的最小整数为-3,因此返回值为-3;
MySQL获取整数的函数FLOOR(x)
FLOOR(x)函数用于返回小于或等于x的最大整数值。
实例:
使用FLOOR(x)函数返回最大整数值。SQL语句如下:
mysql>SELECT FLOOR(0),FLOOR(3.45),FLOOR(-3.45);
FLOOR(x)函数的执行结果如下:
等于0的整数仍然为0,因此FLOOR(0)的返回值为0;小于3.45的最大整数为3,因此返回值为3;-3.45是负数,小于-3.45的最大整数为-4,因此返回值为-4。
mysql函数if为负数_MySQL的if,case语句相关推荐
- mysql函数编写格式_MySQL函数基础——字符串函数详解
昨天,咱们对MySQL的数学函数进行了讲解,今天,咱们再来解析MySQL字符串函数. 字符串函数主要用来处理数据库中的字符串数据,MySQL中字符串函数有:计算字符串长度函数.字符串合并函数.字符串替 ...
- mysql 中 case语句吗_Mysql中的Case语句
1.Case基本初识 case语句是mysql中的一个条件语句,可以在字段中使用case语句进行复杂的筛选以及构造新的字段.下面通过两个leetcode例子来详细解读case语句的功能: 1.1 Le ...
- mysql alert 新增字段_mysql 增加字段 sql 语句
mysql 增加字段 sql 用 alter table add 语句,它属于 DDL 范畴,它也可以指定新增字段的位置. 新增字段语句 MySQL 针对指定表增加字段的语法如下: ALTER TAB ...
- mysql 函数返回表格_mysql 数据分析如何实现日报、周报、月报和年报?
推荐阅读: MySQL复习:20道常见面试题(含答案)+21条MySQL性能调优经验 秋招Java面试大纲:Java+并发+spring+数据库+Redis+JVM+Netty等 以天为统计周期,是常 ...
- mysql 函数的参数_MySQL中的数值函数
加减乘除(+.-.*./)均可用于数值计算. SELECT (1 + 1) / (1 * 2.2 - 3) 执行算术函数 单参数数值函数举例: acos(x), asin(x), atan(x), c ...
- mysql函数数组参数_MYSQL数组聚合函数,如PostgreSQL array_agg
我在MYSQL上有两个表,我想知道MYSQL上是否有任何聚合函数作为array_agg()FROM postgreSQL. 表1属性仅有8条记录 表2捕获该属性的记录,因此对于同一属性有时可以是1或n ...
- mysql函数保留小数_MySql自定义函数-关于保留小数位的特殊需求
背景 昨天,关于价格详情接口又来了一个小需求,而且有点特别.价格显示:改为保留两位小数,没错,就是保留两位小数.大家是不是想说这没啥特别的...数据库都有函数搞定了.例如四舍五入的ROUND(x,d) ...
- mysql函数使用场景_mysql的函数和存储过程的比较,以及在实际场景中的使用案例...
一.存储过程和函数的区别 函数调用有返回值 存储过程调用用call语句,函数调用直接饮用函数名+参数 IN,OUT,INOUT 只适用于存储过程,对函数而言所有参数默认都是输入参数 IN用于把数值传入 ...
- mysql 函数怎样创建_mysql里怎样创建函数
mysql里创建函数的方法: 一.查看创建函数的功能是否开启: mysql> show variables like '%func%'; +--------------------------- ...
最新文章
- Android之解剖网络请求框架Volley
- 【运筹学】运输规划求最大值 ( 运输规划求最大值问题示例 | 转为运输规划求最小值的方式 )
- ECMAScript数据属性和访问器属性
- 如何修改VC6的项目名
- 阿里影业正式成为阿里集团子公司 俞永福辞任执行董事
- acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)
- 文献阅读:《Generative Adversarial Active Learning for Unsupervised Outlier Detection》-2020 trans
- “error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用”解决方法。
- PrefTest性能测试解决方案 -- C/S结构应用系统的压力测试
- 非线性规划求解器 Lingo, Matlab 使用心得,及使用的求解算法
- 计算机辅助绘图包括,计算机辅助绘图实用教程
- 【论文笔记】ego_planner
- 最新WIN10系统封装教程2019系列(七)——封装
- html做战网首页,战网更新agent一半不动
- 微信小程序的开发之手机号、邮箱验证
- GUNS框架图片上传详解
- 华硕ASUS Prime Z370M-PLUS II黑苹果OpenCore EFI
- java oval_Java对象校验框架Oval怎么使用 | 学步园
- Git 出现not registered inyour account 解决办法
- 网站搜索引擎优化问题
热门文章
- python编写存储过程_存储过程 - msjaxuexi - 博客园
- 给我一个西门子plc采集大数据存储与分析方案
- 破解root密码详细流程
- 耶鲁大学 博弈论(Game Theory) 笔记6-纳什均衡之纳什均衡之伯川德模型与选民投票
- java+vue+SSM215的病人跟踪治疗信息管理系统毕业设计
- ES6—字符串模板引擎
- 高速高精度直线电机模组运输存放及安装维护的注意事项
- linux英伟达显卡内核不匹配,解决ubuntu16.04循环登录问题,原因为linux图形化界面和英伟达显卡不兼容...
- 股票类APP排名:同花顺第一、大智慧第二、东方财富网第三
- 在Lua中使用枚举型变量