日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle sql判断相等,Oracle PL/SQL判断两个字段相等或不等问题

發布時間:2025/3/12 数据库 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle sql判断相等,Oracle PL/SQL判断两个字段相等或不等问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle PL/SQL中判斷兩個兩個字段相等或者不相等的時候,常常出現:字段值明明不相等(一個空,一個不空),但是判斷不相等的時候就是得不到TRUE。

例如以下代碼:

...

a1? VARCHAR2(50);

a2? VARCHAR2(50);

b1? VARCHAR2(50);

b2? VARCHAR2(50);

...

IF ( a1 <> a2? OR? b1<>b2 ) THEN

My_Modify(a2,b2);

END IF;

...

IF ( a1?= a2??AND? b1=b2 ) THEN

--do something not useful

a1:=a1;

ELSE

My_Modify(a2,b2);

END IF;

當a1等于a2, b1不等于b2時:

經常會出現 My_Modify(a2,b2); 不執行的情況,但不知道為什么會這樣,難道是<>符號不穩定?

2012-8-27回答:不是不穩定,而是沒有考慮字段空值問題,詳細見后面分析。

2012-8-27添加說明:

經過測試和分析,發現,并不是<>不穩定,而是字段值為NULL是,不能使用=或者<>比較值,應該使用IS NULL判斷是否為空。

當字段a1,a2,b1,b2中有一個或多個為空時,下面兩個語句都會失效:

1.??? IF ( a1 <> a2? OR? b1<>b2 ) THEN

2.??? IF ( a1?= a2??AND? b1=b2 ) THEN

例如,如果a1為空,a2, b1,b2不空時,語句應該這么寫

1.???IF ( (a1?IS NULL AND ?a2?IS NOT NULL)?OR? b1<>b2 ) THEN

2.???IF ( (a1?IS NULL AND ?a2?IS? NULL)? AND? b1=b2 ) THEN

為了解決NULL帶來的“無法判斷相等或不等”的問題,我們可以使用NVL函數解決,語句如下:

1.??? IF ( NVL(a1,0)? <> NVL(a2,0)? OR? NVL(b1,0) <> NVL(b2,0) ) THEN

2.??? IF ( NVL(a1,0)? =? NVL(a2,0)??AND? NVL(b1,0) = NVL(b2,0) ) THEN

注:NVL(args, deafultValue),args為變量,deafultValue為當args為空時,設置的默認值(一般為0)。

其中:NVL(a1, 0)??和 NVL(a1, '0')? 效果樣,最后 a1 的值都是字符串: '0' (不是字符!).

來一段測試代碼:

-- Created on 2012/8/27

DECLEAR

a1? VARCHAR2(50);

a2? VARCHAR2(50);

b1? VARCHAR2(50);

b2? VARCHAR2(50);

BEGIN

a1 := 'a';

a2 := 'a';

b1 := 'b';

b2 := NULL;

IF ( a1 <> a2? OR? b1<>b2 ) THEN

DBMS_OUTPUT.put_line('11111');

END IF;

IF ( NVL(a1,0) <> NVL(a2,0) OR NVL(b1,0) <> NVL(b2,0) ) THEN

DBMS_OUTPUT.put_line('有一對值不相等');

END IF;

IF ( NVL(a1,0) = NVL(a2,0) AND NVL(b1,0) = NVL(b2,0) ) THEN

DBMS_OUTPUT.put_line('都相等');

END IF;

IF ( a1 = a2? AND? b1=b2 ) THEN

DBMS_OUTPUT.put_line('22222');

END IF;

END;

---------&gt>轉載于:http://blog.csdn.net/zht666/article/details/7898948

總結

以上是生活随笔為你收集整理的oracle sql判断相等,Oracle PL/SQL判断两个字段相等或不等问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99re6在线视频 | 国产午夜网站 | 黄色av网站在线 | 狠色综合7777夜色撩人 | 欧美国产三级 | 免费观看在线高清 | 中文字幕亚洲区 | 亚洲国产成人精品激情在线 | 日本我不卡| 日韩精品一区二区三区在线播放 | 亚洲天堂岛 | 国产亚洲区 | 香蕉视频在线观看www | 51久久 | 亚洲天堂视频一区 | 国产男女猛烈无遮挡免费视频动漫 | 夏目彩春娇喘呻吟高潮迭起 | jizz久久| 国产精品久久久久久久一区探花 | 亚洲国产影视 | 国产福利精品视频 | 有奶水的迷人少妇 | 狠狠搞视频 | 东京av男人的天堂 | 99综合在线| 国产视频一区二区三区四区 | 免费毛片视频 | 亚洲国产精品va在线看黑人 | 久久久久成人网站 | 正在播放国产一区 | 男插女青青影院 | 久久网一区 | 毛片3 | 丝袜人妻一区二区三区 | 久久国产免费视频 | 中国毛片网| 狠狠插综合| 蜜臀视频一区二区三区 | 成人污| 婷婷精品在线 | 91久久爱 | 日韩免费在线观看视频 | 久久久蜜桃一区二区人 | 香蕉久久国产av一区二区 | 日韩中文久久 | 综合久久激情 | 国产av无码专区亚洲av毛网站 | 一本色道久久综合亚洲精品 | 亚洲图片 自拍偷拍 | 超碰66 | 亚洲黄色小视频 | 久久网亚洲 | 尤物视频在线免费观看 | 国产精品毛片久久久久久 | 天天干夜操 | 国产一二三级 | 国产91香蕉 | 日本中出视频 | 华丽的外出在线观看 | 久久国产片 | 日本一区二区欧美 | 四虎免费观看 | 男人天堂2021 | 久久久观看 | 欧美一区二区网站 | 四虎精品视频 | 谁有毛片网站 | 国产无码精品一区二区 | たちの熟人妻av一区二区 | 国产又黄又粗又长 | 亚洲一区二区高清视频 | 一区二区三区日 | 99精品一区二区三区 | 红桃av在线 | 国产精品久久久久久久妇 | 天堂欧美城网站 | 麻豆传媒在线观看视频 | 九九九久久久精品 | 黄色一级视屏 | 欧美精品黄色片 | 成人网免费视频 | 美女扒开尿口给男人看 | 伊人免费在线观看高清版 | av一片| 小色瓷导航 | 东方av在线免费观看 | 四虎免费看黄 | 亚洲丁香色 | 新91av| 亚洲精品视频久久 | 亚洲精品久久久久久久蜜桃臀 | 激情一区 | 亚洲天堂不卡 | 久久精品99久久久久久久久 | 日韩免费影视 | 先锋资源网av | 欧美日本高清 | 善良的少妇伦理bd中字 | 国产精品成人99一区无码 |