oracle的if语句采用decode函数。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
Oracle数据库是对标准sql语言的过程化扩展,因此产生了pl/sql语言。其中的if语句大量使用使得程序模块化的功能方便实用。现在要讨论的是if语句的基本使用方法。
连接数据库
请输入用户名: scott/123456
设置环境变量
SQL>set serveroutput on
定义两个字符串变量,然后赋值,接着使用if……then语句比较两个字符串变量的长度,并输出比较结果。
declare
a varchar(10)
b varchar(10)
begin
a:='beijing'
b:='guangdong'
if length(a)>length(b)
then dbms_output.put_line('a>b')
end if
end
过if……then……else语句实现只有年龄大于等于56岁,才可以申请退休,否则程序会提示不可以申请退休。
declare
a number(10)
begin
a:=&x
if a>=56
then dbms_output.put_line('可以申请退休')
else dbms_output.put_line('不可以申请退休')
end if
end
制定一个月份数值,然后使用if……then……elsif语句判断它所属的季节,并输出季节信息。
declare
mon number(10)
begin
mon:=&x
if mon=3 or mon=4 or mon=5
then dbms_output.put_line('春节')
elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季')
elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季')
elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季')
end if
end
制定一个季度数值,然后使用case语句判断它所包含的月份信息并输出。
declare
ss number(10)
begin
ss:=&x
case
when ss=1 then dbms_output.put_line('包含月份3,4,5')
when ss=2 then dbms_output.put_line('包含月份6,7,8')
when ss=3 then dbms_output.put_line('包含月份9,10,11')
when ss=4 then dbms_output.put_line('包含月份12,1,2')
end case
end
1)简化形式if(表达式) 语句块
如: if(x>y) printf(“%d”,x)
2)一般形式
if (表达式)
语句块1
else
语句块2
例如:
if (x>y)
printf(“max=%d”,x)
else
printf(“max=%d”,y)
3)嵌套形式
含义:一条if语句重又包含另一个if语句称为if语句的嵌套.
格式:
if( )
if( ) 语句块1
else 语句块2
else
if( ) 语句块3
else 语句块4
例如:
if (score>90)
printf(“very good”)
else
if(score>80)
printf(“good”)
else
if(score>60)
printf(“ok”)
else
printf(“bad”)
如果语句块包含多个语句,用{}就行了
例如:
if(n>0)
{
printf("%d",n)
printf("是正数\n")
}
sql中的if语句写法和java中差不多,都是先定义变量再使用变量进行判断。由于你的提问不是很清晰,我就自己的看法解答下你的问题:如果你指的是查询条件的话:select 需要查询的字段,若为所有字段这里是* from 表名 where 查询条件例如name='llo' and age='50'
如果你指的是sql代码的话:
变量名 Number:=0
变量名 Number:=0Num为属性
Select 字段名 Into 变量名 from 表名 就不多写了,条件同查询条件结束时要有;号注意英文字符,这样会把查询到的字段值赋给变量,当使用if语句进行判断时,取到变量名进行判断就好。if判断语句同:if(变量名!=0) then
返回true时需要运行的语句
end if;
--为注释
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)