在Oracle中,

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)公司、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了張家口免費建站歡迎大家使用!
!=
~=
^=
都是不等于號的意思。都可以使用。
但是奇怪是的, 我想拿出price不是180000的商品時:(price是Number類型的)
SELECT id, name FROM product where price 180000;
執(zhí)行這個語句時,priceis null 的記錄不出來。也就是拿不到price是null的商品。必須使用:
SELECT id, name FROM product where price 180000 or price is null;才行。
字符串的字段存在同樣的問題。
記住:null只能通過is null或者is not null來判斷,其它操作符與null操作都是false。
測試:select * from test where name'xn'。只能查出name非空的記錄。去掉name'xn'就可以了。這種寫法有問題。
然后用了instr(name,'xn')=0 來判斷,如果name非空的話,判斷還是有效的。如果name為空,這個判斷又出問題了。不得已只得采取instr(concat(name,'xx'),'xn') = 0來判斷,因為就算name為空,當和'xx'連接后,也會不為空的。
所以最后的sql語句為:
select * from test where instr(concat(name,'xx'),'xn') = 0 來查詢name字段不等于'xn'的記錄。
或者可以用 select * from test where nvl(name,'xx')'xn' 來查詢name字段不等于'xn'的記錄。
Oracle存儲過程基本語法: CREATE OR REPLACE PROCEDURE 存儲過程名 IS BEGIN NULL; END;解釋: 行1: CREATE OR REPLACE PROCEDURE 是一個SQL語句通知Oracle數(shù)據(jù)庫去創(chuàng)建一個叫做skeleton存儲過程, 如果存在就覆蓋它; 行2: IS關(guān)鍵詞表明后面將跟...
Oracle中的數(shù)據(jù)類型有:字符型、數(shù)字型、日期型等。具體介紹如下:
1、字符型:char(n):用于標識固定長度的字符串。
當實際數(shù)據(jù)不足定義長度時,使用空格補全右邊不足位。varchar(n):可變字符串類型。
為SQL標準規(guī)定的,數(shù)據(jù)庫必須實現(xiàn)的數(shù)據(jù)據(jù)類型。可以存儲空字符串。
varchar2(n):可變字符串類型,是oracle在varchar的基礎(chǔ)上自行定義的可變長度字符串
類型。當做為列類型使用時,最大長度可被定義為4000;當做為變量類型使用時,長度
可被定義為32767。不可以存儲空字符串。
2、數(shù)值型:可用于存儲整數(shù)、浮點數(shù)。
number(m,n):m表示有效數(shù)字的總位數(shù)(最大為38位),n表示小 數(shù)位數(shù)。
3、日期時間型:
date:包含Year(年)、Month(月) 、Day(天)、Hour(時)、Minutes(分)、Second(秒)
說明:(yyyy表示4位年分;mm表示月份;dd表示天;hh表示時;mi表示分;ss表示秒)
4、大對象類型:lob:用于存儲大對象類型。例如:文本信息長度超過4000、二進制文件等。最大容量為4GB。
lob分類:clob:用于存儲大型文本數(shù)據(jù)。(例如:備注信息)
blob:用于存儲二進制數(shù)據(jù)。(例如:圖片文件)
bfile:作為獨立文件存在的二進制數(shù)據(jù)。
5、特殊數(shù)據(jù):
null與空字符串:null與空字符串,都要用is null或is not null進行比較。
單引號:想將單引號做為字符中使用,請通過單引號進行轉(zhuǎn)義。
6、注意:oracle中,沒有布爾類型,可利用字符串或數(shù)值(1/0)表示
如果都是n位2進制的
我舉個例子
比如表a有字段col是5位2進制
select max(substr(col,1,1))||max(substr(col,2,1))||max(substr(col,3,1))||max(substr(col,4,1))||max(substr(col,5,1)) from a
and優(yōu)先級大于or。
加括號則優(yōu)先執(zhí)行or,后執(zhí)行and;不加括號,會先執(zhí)行and,再執(zhí)行or,所以查詢結(jié)果不同。舉例:
數(shù)據(jù)庫存在數(shù)據(jù):
Thomas Carter
William?Carter
Thomas?King
執(zhí)行:SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'
結(jié)果為:
Thomas?Carter
William?Carter
執(zhí)行:SELECT * FROM Persons WHERE FirstName='Thomas' OR FirstName='William'
AND LastName='Carter'
結(jié)果為:
Thomas?Carter
William?Carter
Thomas?King
擴展資料:
ORACLE數(shù)據(jù)庫特點:
1、完整的數(shù)據(jù)管理功能:
(1)數(shù)據(jù)的大量性
(2)數(shù)據(jù)的保存的持久性
(3)數(shù)據(jù)的共享性
(4)數(shù)據(jù)的可靠性
2、完備關(guān)系的產(chǎn)品:
(1)信息準則---關(guān)系型DBMS的所有信息都應(yīng)在邏輯上用一種方法,即表中的值顯式地表示;
(2)保證訪問的準則
(3)視圖更新準則---只要形成視圖的表中的數(shù)據(jù)變化了,相應(yīng)的視圖中的數(shù)據(jù)同時變化
(4)數(shù)據(jù)物理性和邏輯性獨立準則
3、分布式處理功能:ORACLE數(shù)據(jù)庫自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式數(shù)據(jù)庫功能了,一個ORACLE分布式數(shù)據(jù)庫由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關(guān)系型產(chǎn)品構(gòu)成。
4、用ORACLE能輕松的實現(xiàn)數(shù)據(jù)倉庫的操作。
參考資料:百度百科-Oracle數(shù)據(jù)庫
exists 是Oracle sql中的一個函數(shù)。表示是否存在符合某種條件的記錄。如
select * from A,B
where A.id=B.id
and exists (SELECT *
FROM A
WHERE A.type LIKE 'S%')
exists 還有個功能就是 每次用到這個函數(shù)的時候就相當于測試了這條數(shù)據(jù)
當前標題:oracle中或怎么表示,oracle中的或
本文地址:http://chinadenli.net/article49/dsshdeh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、定制開發(fā)、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈、網(wǎng)站排名、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)