oracle中怎么写判断 oracle怎么写判断语句

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查询判断怎么写

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);

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


网站题目:oracle中怎么写判断 oracle怎么写判断语句
文章地址:http://pwwzsj.com/article/hgpicp.html