
当 if 体中的语句多于一条时,要用 {} 把这些语句括起来形成一条复合语句,如下所示。
if (条件表达式)
{
复合语句A
}
当 if 体为一条简单语句时,可以省略 {},即:
if (条件表达式)
简单语句A//if体
该条件表达式可以是关系表达式、逻辑表达式、算术表达式或混合表达式等。只要其值为真或非零均执行 if 体。例如:
if (a>6) //关系表达式,当 a>6 时表达式值为真,执行if体
Statement(s)
if (a||b) //逻辑表达式,只要a、b中有一个为真,结果为真,执行if体
Statement(s)
if (3-6) //算术表达式,只要该表达式的值非0,结果为真,执行if体
Statement(s)
/*关系、逻辑混合表达式,只要age>=60或age<=10其中一项为真,结果为真,执行if体*/
if (age>=60 ||age<=10)
Statement(s)
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。
if-else语句
if-else 语句的格式如下。当 if 语句体或 else 语句体中的语句多于一条时,要用 {} 把这些语句括起来形成一条复合语句,如下所示。
if(条件表达式)
{
复合语句A//if体
}
else
{
复合语句B//else体
}
当 if 体或 else 体为一条简单语句时,可以省略 {},即:
if(条件表达式)
简单语句A//if体
else
简单语句B//else体
同 if 语句一样,条件表达式可以是关系表达式、逻辑表达式、算术表达式或混合表达式等。
if-else 语句的执行流程:首先判断关键词if后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体(语句 A),而不执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体(语句 A),而执行 else 体(语句 B),然后继续执行 if-else 之后的其他语句。
由于表达式的值在逻辑上只有真和假,故 if 和 else 在执行流程上是互斥的,执行且只能执行两者中的一个。
不同的数据库中,存储过程中if else 语句写法有一些差别。
如果是SQLServer数据库,存储过程的if, else语句可以这样写:
if a>bBegin
print 'a'
End
Else if a<b
Begin
print 'b'
End
Else
Begin
print '代码'
End
Oracle 采用下面这种写法:
IF testvalue > 100 THENdbms_output.put_line( '100+' )
ELSIF testvalue = 100 THEN
dbms_output.put_line( '100' )
ELSE
dbms_output.put_line( '100-' )
END IF
DB2, MYSQL 是下面这种写法: ( 与 Oracle 区别在于那个 ELSIF )
IF p_val > 100 THENINSERT INTO output_debug VALUES( '100+' )
ELSEIF p_val = 100 THEN
INSERT INTO output_debug VALUES( '100' )
ELSE
INSERT INTO output_debug VALUES( '100-' )
END IF
sql中没有if语句,但有case语句,而且是所有数据库都支持的,语法是case
when
条件1
then
结果1
when
条件2
then
结果2
else
结果n
end,
可以有任意多个条件,如果没有默认的结果,最后的else也可以不写
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)