oracle判断怎么写 oracle的判断函数

oracle 判断语句

SELECT a.id,

“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都网站设计、网站制作、外贸营销网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!

a.name,

a.dept,

CASE

WHEN (SELECT COUNT (1) cnt

FROM b

WHERE a.name = b.name AND b.TYPE '03') 0

THEN

ELSE

1

END

flag

FROM a

不过还需要考虑一个问题就是:如果B表中找不到记录时,flag如何赋值。

上面这个sql针对这个情况会赋值1

oracle查询判断怎么写

SELECT

distinct id,state,name

FROM

table1 main

WHERE

NOT EXISTS( select 1 FROM table1 sub where main.id=sub.id AND main.statesub.state);

未经测试。。。纯属手写,,如果以自己多年经验来说的话。。这段话应该不会有多大问题。。。希望你自己仔细测试之后能够提出宝贵意见!!!

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查询语句条件判断怎么写

好像是标准sql吧,就这么写啊。不过大表可不能这么做哦,太占资源了。

补充:

oracle里面有“+”的,不过我怀疑你是不是要拼两个字符串。正统数据库,包括oracle和db2拼接字符串都是采用双竖线“||”,加号只能用于使两个整型或者浮点型数值相加。

这需要看你的相关字段的类型的。如果是数值型,需要首先转换为字符型,再合并,例如:

select

*

from

a

where

to_char(col001)||to_char(col002)

not

in

(select

to_char(col001)||to_char(col002)

from

b)

如果是字符型,可以直接合并:

select

*

from

a

where

col001||col002

not

in

(select

col001||col002

from

b)

如果是date型,同样转换为字符,具体查手册。

但是你这种写法,怎么说呢,不太好把,首先这并不是严格按照你所描述的逻辑,举例来说,如果表a字段是:"12","3",表b是:"1","23"那又会怎样?另外,not

in总是执行全表扫描,效率不高,这样写会好一些:

select

a.*

from

a

left

join

b

on

(a.col001

=

b.col001

and

a.col002

=

b.col002)

where

b.col002

is

null

oracle中判断语句怎么写?

是存储过程里面的 IF/ELSE ? 还是简单的 DECODE ?

SQL DECLARE

2 testvalue INT;

3 BEGIN

4 testvalue := 100;

5

6 IF testvalue 100 THEN

7 dbms_output.put_line( '100+' );

8 ELSIF testvalue = 100 THEN

9 dbms_output.put_line( '100' );

10 ELSE

11 dbms_output.put_line( '100-' );

12 END IF;

13

14 END;

15 /

100

PL/SQL procedure successfully completed.

SQL SELECT

2 DECODE(GROUPING(sale_item), 1, 'ALL', sale_item) AS iten,

3 SUM(sale_money) AS money

4 FROM

5 sale_report

6 GROUP BY

7 ROLLUP(sale_item);

ITEN MONEY

------ ----------

A 733285

B 2382

C 5738

ALL 741405

oracle 中的插入语句要条件判断怎么写?

insert into table1 values(a1,a2,aid in(select aid from p where p.name=''),cid in (select sid from u where u.name='aa'))

应该要把 aid in ,cid in去掉吧?

最简单的方式,把后面两个字段设置为非空,让oracle报错去。。呵呵


网站标题:oracle判断怎么写 oracle的判断函数
分享URL:http://ybzwz.com/article/hjejci.html