oracle數據類型

--數據類型
 -- 字符數據類型
 --數值數據類型
 --日期時間數據類型
 --二進制類型
 --LOB數據類型
 --Oracle中的僞列

--字符數據類型(char(10) , varchar2(20),long)

--數值數據類型 number(p,s)
number(4)   最大表示位整數 -9999 到9999
number(5,2) 表示5位有效數字 2位小數的 一個小數
    範圍從-999.99 到 999.99
 
create table tt
(
       aa number(10,2)
)

insert into tt values(12345678.900)
insert into tt values(12345678.9260) --當超過精度位數時,會四捨五入
insert into tt values(12345678.923) --當超過精度位數時,會四捨五入

drop table tt;

--修改表中字段的數據類型(比較SQL SERVER)
alter table tt
modify aa number(10)

insert into tt values(1234.567890) --四捨五入

select * from tt;

delete from tt;

alter table tt
modify aa number(10,-2)--表示我們精確到百位

insert into tt values(1232434.34)

--日期時間類型
--date
select sysdate from dual; --dual是一張僞表

select * from dual;--dual表的作用就是當我們的操作要查詢的內容沒有表對應的時候

select 23*12 from dual;


--Timestamp數據類型(精度的區別)
select systimestamp from dual;

--RAW數據類型
存儲基於字節的數據,如二進制數據或者是字符串
最多能保存2000個字節
該數據類型沒有默認的大小,使用時需指定大小
可以在RAW數據類型上面建立索引

--Long RAW 數據類型
存儲可變長度的二進制數據
最多能保存2GB
該數據類型上面不能建立索引
同時LONG數據類型受到的所有限制同樣對LONG RAW數據類型有效

--LOB數據類型
該類型用於存儲多達4G的非結構化信息,比如聲音剪輯、視頻剪輯等
一個表可以有多列定義爲LOB類型的
Oracle總LOB數據類型有
CLOB
BLOB
BFILE

--Clob
代表Character LOB(字符LOB)
用於存儲大量的字符數據
可以存儲單字節字符數據和多字節字符數據
可以用於存儲非結構化的XML文檔

--blob
代表Binary LOB(二進制LOB)
用於存儲較大的二進制對象,如圖形、聲音、視頻等

--BFILE數據類型
代表Binary File(二進制文本)
它能夠將二進制文件存儲在數據庫外部的操作系統文件中
BFILE列存儲一個BFILE定位器,它指向位於服務器文件系統上的二進制文件。
支持文件最大爲4GB
小型項目裏面基本不使用

--僞列
僞列就像oracle中的一個表列,但實際上它並未存儲在表中。
僞列可以從表中查詢,但是不能插入、更新或者刪除它們的值。

--rowid
數據庫中的每一行都有一個行地址,ROWID僞列返回該行的地址
可以使用ROWID來定位表中的一行
ROWID值可以唯一標識數據庫中的一行
ROWID用途:
能以最快的方式訪問表中的一行
能顯示錶的行是如何存儲的
可以作爲表中行的唯一標識
select rowid,ename from emp;查看rowid

--ROWNUM僞列
對於一個查詢返回的每一行,
ROWNUM僞列返回一個數值代表行的次序。
返回的第一行的ROWNUM值爲1,第二行的ROWNUM值爲2,
以此類推。通過使用ROWNUM僞列,用戶可以查詢返回的行數

select * from emp where deptno=20 order by sal desc;

select * from emp where  deptno=20 and rownum<3  order by sal desc;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章