oracleµÄnvlº¯ÊýµÄÓ÷¨
oracleµÄnvlº¯ÊýµÄÓ÷¨ ͨ¹ý²éѯ»ñµÃij¸ö×ֶεĺϼÆÖµ£¬Èç¹ûÕâ¸öֵλnull½«¸ø³öÒ»¸öÔ¤ÉèµÄĬÈÏÖµ
select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1ÕâÀï¹ØÐĵÄnvlµÄÓ÷¨£¬nvl£¨arg,value£©´ú±íÈç¹ûÇ°ÃæµÄargµÄֵΪnullÄÇô·µ»ØµÄֵΪºóÃæµÄvalue
Èç: NVL(a,b)¾ÍÊÇÅжÏaÊÇ·ñÊÇNULL,Èç¹û²»ÊÇ·µ»ØaµÄÖµ£¬Èç¹ûÊÇ·µ»ØbµÄÖµ ͨ¹ý²éѯ»ñµÃij¸ö×ֶεĺϼÆÖµ£¬Èç¹ûÕâ¸öֵλnull½«¸ø³öÒ»¸öÔ¤ÉèµÄĬÈÏÖµ
select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1ÕâÀï¹ØÐĵÄnvlµÄÓ÷¨£¬nvl£¨arg,value£©´ú±íÈç¹ûÇ°ÃæµÄargµÄֵΪnullÄÇô·µ»ØµÄֵΪºóÃæµÄvalue ÖйúÍø¹ÜÁªÃË ÁíÒ»¸öÓйصÄÓÐÓ÷½·¨
declare
i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1ÕâÑù¾Í¿ÉÒÔ°Ñ»ñµÃµÄºÏ¼ÆÖµ´æ´¢µ½±äÁ¿iÖУ¬Èç¹û²éѯµÄֵΪnull¾Í°ÑËüµÄÖµÉèÖÃΪĬÈϵÄ1 OracleµÃNvlº¯Êý nvl( ) º¯Êý ´ÓÁ½¸ö±í´ïʽ·µ»ØÒ»¸ö·Ç null Öµ¡£
Óï·¨
NVL(eExpression1, eExpression2)
²ÎÊý
eExpression1, eExpression2
Èç ¹û eExpression1 µÄ¼ÆËã½á¹ûΪ null Öµ£¬Ôò NVL( ) ·µ»Ø eExpression2¡£Èç¹û eExpression1 µÄ¼ÆËã½á¹û²»ÊÇ null Öµ£¬Ôò·µ»Ø eExpression1¡£eExpression1 ºÍ eExpression2 ¿ÉÒÔÊÇÈÎÒâÒ»ÖÖÊý¾ÝÀàÐÍ¡£Èç¹û eExpression1 Óë eExpression2 µÄ½á¹û½ÔΪ null Öµ£¬Ôò NVL( ) ·µ»Ø .NULL.¡£
·µ»ØÖµÀàÐÍ
×Ö·ûÐÍ¡¢ÈÕÆÚÐÍ¡¢ÈÕÆÚʱ¼äÐÍ¡¢ÊýÖµÐÍ¡¢»õ±ÒÐÍ¡¢Âß¼ÐÍ»ò null Öµ
˵Ã÷
ÔÚ²»Ö§³Ö null Öµ»ò null ÖµÎ޹ؽôÒªµÄÇé¿öÏ£¬¿ÉÒÔʹÓà NVL( ) À´ÒÆÈ¥¼ÆËã»ò²Ù×÷ÖÐµÄ null Öµ¡£ select nvl(a.name,'¿ÕµÃ') as name from student a join school b on a.ID=b.ID ×¢Ò⣺Á½¸ö²ÎÊýµÃÀàÐÍҪƥÅä ÎÊ£ºÊ²Ã´ÊÇNULL£¿ ´ð£ºÔÚÎÒÃDz»ÖªµÀ¾ßÌåÓÐʲôÊý¾ÝµÄʱºò£¬Ò²¼´Î´Öª£¬¿ÉÒÔÓÃNULL£¬ ÎÒÃdzÆËüΪ¿Õ£¬ORACLEÖУ¬º¬ÓпÕÖµµÄ±íÁ㤶ÈΪÁã¡£
ORACLEÔÊÐíÈκÎÒ»ÖÖÊý¾ÝÀàÐ͵Ä×Ö¶ÎΪ¿Õ£¬³ýÁËÒÔÏÂÁ½ÖÖÇé¿ö£º 1¡¢Ö÷¼ü×ֶΣ¨primary key£©£¬ 2¡¢¶¨ÒåʱÒѾ¼ÓÁËNOT NULLÏÞÖÆÌõ¼þµÄ×ֶΠ˵Ã÷£º 1¡¢µÈ¼ÛÓÚûÓÐÈκÎÖµ¡¢ÊÇδ֪Êý¡£ 2¡¢NULLÓë0¡¢¿Õ×Ö·û´®¡¢¿Õ¸ñ¶¼²»Í¬¡£ 3¡¢¶Ô¿ÕÖµ×ö¼Ó¡¢¼õ¡¢³Ë¡¢³ýµÈÔËËã²Ù×÷£¬½á¹ûÈÔΪ¿Õ¡£ 4¡¢NULLµÄ´¦ÀíʹÓÃNVLº¯Êý¡£ 5¡¢±È½ÏʱʹÓùؼü×ÖÓá°is null¡±ºÍ¡°is not null¡±¡£ 6¡¢¿ÕÖµ²»Äܱ»Ë÷Òý£¬ËùÒÔ²éѯʱÓÐЩ·ûºÏÌõ¼þµÄÊý¾Ý¿ÉÄܲ鲻³öÀ´£¬ count(*)ÖУ¬ÓÃnvl(ÁÐÃû
Ïà¹ØÎĵµ£º
Oracle ´æ´¢¹ý³Ì·µ»Ø½á¹û¼¯Óà ref cursor ʵÏÖ¡£
ÊÔÑé²½ÖèÈçÏ£º
1. ½¨Á¢ ref cursor ÀàÐͺ͹ý³Ì
CREATE OR REPLACE PACKAGE types
AS
TYPE ref_cursor IS REF CURSOR;
END;
/
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7 ......
°²×°×¼±¸£º
ÏÂÔØÎļþ
l Oracle Database 10g Release 2(10.2.0.1) Software
½âѹÎļþ
½âѹÎļþÃüÁ
unzip 10201_database_linux32.zip
½âѹºóµÄÎļþ¼Ð¿ÉÄÜ“database”»ò“db/Disk1”
HostsÎļþ
ÔÚ/etc/hosts ÎļþÖаüº¬Ò»¸öÍêÕûºÏ· ......
NVL(Expr1,Expr2)Èç¹ûExpr1ΪNULL£¬·µ»ØExpr2µÄÖµ£¬·ñÔò·µ»ØExpr1µÄÖµ
NVL2(Expr1,Expr2,Expr3)Èç¹ûExpr1ΪNULL£¬·µ»ØExpr2µÄÖµ£¬·ñÔò·µ»ØExpr3µÄÖµ
NULLIF(Expr1,Expr2)Èç¹ûExpr1ºÍExpr2µÄÖµÏàµÈ£¬·µ»ØNULL£¬·ñÔò·µ»ØExpr1µÄÖµ ......
´æ´¢¹ý³Ì´´½¨Óï·¨£º
create or replace procedure ´æ´¢¹ý³ÌÃû£¨param1 in type£¬param2 out type£©
as
±äÁ¿1 ÀàÐÍ£¨Öµ·¶Î§£©;
±äÁ¿2 ÀàÐÍ£¨Öµ·¶Î§£©;
Begin
Select count(*) into ±äÁ¿1 from ±íA whereÁÐÃû=param1£»
If (ÅжÏÌõ¼þ) then
&n ......
µ¥±íÊý¾ÝÇ¨ÒÆ£ºÖ§³Öclob,blob
exp estarcom/estarcom@ORACLE tables=AA direct=y file=C:/AAA1.dmp
¡¡¡¡ imp estarcom/estarcom@ORACLE tables=AA file=C:/AAA1.dmp fromuser=estarcom touser=estarcom
È«¿âÊý¾ÝÇ¨ÒÆ
exp userid=zhongxin/zhongxin@ORACLE own ......