當(dāng)前位置:
首頁 >
Oracle中的NULL(一、问题引入)
發(fā)布時(shí)間:2025/4/5
34
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Oracle中的NULL(一、问题引入)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
說明:最近在寫后臺(tái)程序的時(shí)候,遇到了關(guān)于Oracle中NULL的一個(gè)問題:
測(cè)試數(shù)據(jù)
表結(jié)構(gòu):
表中已有的數(shù)據(jù):
插入數(shù)據(jù):
INSERT INTO Z_TEST VALUES ('', '堅(jiān)毅童'); 這是表中的數(shù)據(jù)為:
當(dāng)我想把'FSTUDENTNAME' 為 '堅(jiān)毅童'的記錄查出來:
SELECT T.*, T.ROWID FROM Z_TEST T WHERE T.FSTUDENTID = '';
但結(jié)果為:
查詢無記錄。
這時(shí)我就在想,我明明把這條數(shù)據(jù)的FSTUDENTID字段置為'',但是卻查不出來。后來我想 ,Oracle是不是把這個(gè)空字符串編程了NULL。
為了驗(yàn)證我想法的正確性,我測(cè)試了一下:
SELECT DECODE(T.FSTUDENTID, NULL, 'NULL值', '空字符串')FROM Z_TEST TWHERE T.FSTUDENTNAME = '堅(jiān)毅童'; 發(fā)現(xiàn),我的猜想是正確的,原來Oracle把空字符串解析成了NULL。
我在程序中調(diào)用存儲(chǔ)過程,插入數(shù)據(jù)字段為''空字符串,結(jié)果該字段就變成了NULL;
后來我為了找問題的解釋,就在網(wǎng)上搜了很多的資料,下面就把這些資料整理一下。
轉(zhuǎn)載于:https://my.oschina.net/eillenme/blog/101519
總結(jié)
以上是生活随笔為你收集整理的Oracle中的NULL(一、问题引入)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 介绍Windows Server服务器角
- 下一篇: AS3汉字sokcet传送编码问题