oracle中的if条件判断语句,SQL条件判断语句语法
条件判断语句可以作为程序段的逻辑结构跳转,根据不同条件执行不同的程序段,也可以在单条SQL语句内部使用,根据不同条件进行更新选择取值。
三种数据库条件判断语句都有if和case,每种数据库语法存在些微差别。
oracle:
1、if语句:
if condition then
sql_statement
elsif condition then
sql_statement
else
sql_statement
end if;
2、case语句:
case value
when a then
sql_statement;
when b then
sql_statement;
when c then
sql_statement;
when d then
sql_statement;
else
sql_statement;
end case;
case
when condition then
sql_statement;
when condition then
sql_statement;
when condition then
sql_statement;
when condition then
sql_statement;
else
sql_statement;
end case;
3、decode函数
判断条必需等于具体的值,不为大于小于等带比较的数值.decode函数是oracle的特有的判断语句。
例子:decode(性别,'1' ,'男','女')
sqlserver:
1、if语句:由于sqlserver中没有then 和 end if 结束符,所以如果if语句后需要执行包含多条语句的语句块,必须使用begin end 否则只执行一条语句。
if condition
begin
sql_statement
end
else if condition
begin
sql_statement
end
else
begin
sql_statement
end
2case语句
case value
when a then
sql_statement
when b then
sql_statement
when c then
sql_statement
else
sql_statement
end;
case
when condition then
sql_statement
when condition then
sql_statement
when condition then
sql_statement
else
sql_statement
end;
mysql:
1、if语句
IF condition THEN
sql_statement;
ELSEIF condition THEN
sql_statement;
ELSE
sql_statement;
END IF;
2、case语句
CASE value
WHEN a THEN
sql_statement;
WHEN b THEN
sql_statement;
ELSE
sql_statement;
END case ;
CASE
WHEN condition THEN
sql_statement;
WHEN condition THEN
sql_statement;
ELSE
sql_statement;
END CASE;
区别和联系:三种数据库都有if 和case 条件判断语句,但是三种语法还是有区别的。
1、if条件选择语句的区别oracle的elsif是关键字缺一个E;sqlserver的if 语句没有then和end if 关键字,所以需要用begin end 把满足判断条件后需要执行的语句块引起来,否则满足条件后只执行第一条语句,sqlserver的else if 关键字中间需要空格分开;mysql的elseif关键字直接连起来。
2、case when 语句都有两种用法,第一种是有唯一值的条件判断,则把变化的值变量放到case 后,值放到when后即可,如果是判断条件,则case后为空,所有条件都放到when 和then中间执行。
oracle中的if条件判断语句,SQL条件判断语句语法相关推荐
- mysql sql判断语句,SQL条件判断语句语法
条件判断语句可以作为程序段的逻辑结构跳转,根据不同条件执行不同的程序段,也可以在单条SQL语句内部使用,根据不同条件进行更新选择取值. 三种数据库条件判断语句都有if和case,每种数据库语法存在些微 ...
- 在Oracle中写出性能优良的SQL语句
我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习.摘录.并汇总部分资料与大家分享! (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器 ...
- oracle中having的用法,深入浅析SQL中的group by 和 having 用法
一.sql中的group by 用法解析: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". 作用:通过一定的规则将一个数据集划分成 ...
- mysql的查询语句大全_sql语句(sql数据库查询语句大全)
sql语句 结构化查询语言(StructuredQueryLanguage)缩写为SQL.结构化查询语言是一种数据库查询和编程语言,用于访问数据以及查询,更新和管理关系数据库系统: 程序功能 创建数据 ...
- php 中insert into,php – INSERT INTO SQL Heredoc正确的语法
我正在尝试将带有INSERT INTO MySQL命令的heredoc语法用于数据库. 我面临的问题是变量$tPerson_SQLinsert,这是一个查询. 这是我的代码: $tPerson_SQL ...
- oracle多条sql语句常量,如何在Oracle中一次执行多条sql语句
有时我们需要一次性执行多条sql语句,而用来更新的sql是根据实际情况用代码拼出来的 解决方案是把sql拼成下面这种形式: begin update TB_VG set seq = 1, vessel ...
- ado.net Oracle中一次执行多条sql语句
begin update TB_VG set seq = 1, vessel_id = 'Jin14', vessel_type = 'TRACK' where batch_number = '20 ...
- oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?
ORACLE 11204, SOLARIS 如下:原始写法,where 条件中,有 OR 条件,这时,索引 IDX_BD_LOTMASTER_NO 走全索引扫描,导致效率非常低, -bash-3.2$ ...
- oracle 修改索引的名称,Oracle中查询索引名称,批量修改索引名称语句
在Oralce数据库数据优化过程中,对源数据表处理,原则上是做更名备份,作为被查或回退使用,所以,有修改数据表名后重新建表的操作,这样,往往也需要修改索引.主键.外键名称,方便重建,为了方便.快速生成 ...
最新文章
- 让我们一起Go(十三)
- [Eclipse]代码已被写入关于如何切换到unix在新行
- 修改 jquery.validate.js 支持非form标签
- 【Zookeeper学习】Apache Zookeeper项目简介
- TensorRT加速ENet
- 苹果电脑屏幕刷新率如何调整
- 狗汪汪玩转嵌入式——I2C 协议分析
- VGG19 基本网络结构图
- 医疗管理核心制度之 十八、信息安全管理制度
- 读书笔记《松本行弘的程序世界》
- Dual DSI on msm8937
- 工商业与信息业的关系
- 694.27公斤何登骥360搜索热头条 北方旱作国稻种芯功能水稻
- 解决 filezilla 连接服务器失败问题
- 万物互联的灵鹫山,取经的华为
- 量子计算(十):量子计算原理
- 基于微信小程序房屋出租民宿预定app设计
- Spark:reduceByKey与groupByKey进行对比
- Python文件操作-写文本文件
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘xxx‘ 中的标识列插入显式值。 java解决方案
热门文章
- python人脸识别门禁系统毕设_人脸识别 宿舍门禁系统(python qt opencv带数据库)
- java计算机毕业设计ssm+jsp成都美食推荐系统
- OICQ服务器系统通讯协议
- 闲话中国人的竖式乘法和埃及人的二分乘法
- oracle update语句提交,Oracle UPDATE语句使用示例
- 画出计算机硬件结构框图,计算机组成原理点题集1.doc
- Mybtatis Plus框架selectById(Serializable id) 方法为什么可以传入Integer类型
- Ubuntu16.04 开发环境配置
- 3D点云基础知识(二)-bilibili视频资源整理(二)鞋点胶点云轮廓提取
- 汉字对应的ASCLL