oracle如何做判断,oraclesql判断语句

oracleif判断语句

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('ab');

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;

oracle怎么在where后面再作判断条件

如下参考:

1.从tblTest表中获取itemcode='Item001'的记录行,然后使用where的等式(=)条件,select*fromtblTestwhereitemcode='Item001'如下图。

2. 如果从tblTest表中获得itemnum 50的记录行,则可以使用where greater than()条件。也可以使用大于或等于(=),select * from tblTest where itemnum 50,如下图。

3.从tblTest表中获取itemnum 50的记录行,您可以使用where的小于()条件。小于条件也可以使用小于或等于(=),select * from tblTest where itemnum 50如下图。

4.从tblTest表中获取itemnum不等于itemprice的记录行,可以使用where's not equal to (!等于或小于如下图。

5.从tblTest表中获取包含itemname中单词“item”的记录行,然后可以使用where的fuzzy(%)条件。左边的百分号表示左边可以是任何值,右边的百分号表示右边可以匹配任何值,百分号可以是两边的,如下图。

oracle触发器怎么判断条件

oracle判断为空是用is

null不是=null;

在oracle中=null一直都是返回false的。

另外最好加上exception判断:

IF

:new.s_ID

IS

NULL

THEN

BEGIN

SELECT

c_id

into

:new.s_ID

from

classs

where

c_sid=:NEW.s_cid;

EXCEPTION

WHEN

no_data_found

THEN

SELECT

INTO

:new.s_ID

FROM

dual;

--或者其他操作

END;

END

IF;

当在classs表中没有找到对应的记录时不至于出错,看你要怎么设计咯。

oracle 如何判断数字字串中是否含有英文字母 如题!

简单的:一条语句搞定,SqlPlus里面select decode(length(replace(translate('字符串的值','0123456789.',' '),' ','')),0,'is number','is not a number') from dual; 麻烦点的:写function在oracle数据库中,create or replace function f_str_or_num(str varchar2) return varchar2 is

2 v_num number;

3 v_return varchar2(60);

4 begin

5 v_num:=to_number(str);

6 v_return:=str||' is a number string!';

7 return v_return;

8 exception when others then

9 v_return:=str||' is not a number string!';

10 return v_return;

11 end f_str_or_num; 然后调用select f_str_or_num('字符串的值) from dual;


当前标题:oracle如何做判断,oraclesql判断语句
网址分享:http://ybzwz.com/article/dssgidd.html