數(shù)據(jù)類型
一壁顶、字符型數(shù)據(jù)
1,1忧设、固定長(zhǎng)度: char(n)?、nchar(n)
備注:nchar是按unicode格式存放數(shù)據(jù)的井厌,nchar存儲(chǔ)漢字比較多蚓庭,其中n為字符長(zhǎng)度,char類型n的最大值為2000仅仆,nchar中n ? ? ? ? ? ? ? ? ? ? ? ? ? ??的最大值為1000
1.2器赞、可變長(zhǎng)度:varchar(n)、varchar2(n)墓拜、nvarchar2(n)
備注:varchar是符合工業(yè)標(biāo)準(zhǔn)的數(shù)據(jù)類型港柜,varchar(2)是oracle在varchar基礎(chǔ)上定義的,varchar2不能存儲(chǔ)空字符串,會(huì)將空 ? ? ? ? ? ? ? ? ? ? ? ? ? ?字符串轉(zhuǎn)為null存儲(chǔ)夏醉,nvarchar2是按unicode格式存放數(shù)據(jù)的爽锥,其中n為字符長(zhǎng)度,varchar2類型n的最大值為4000畔柔, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??nvarchar2中n的最大值為2000
二氯夷、數(shù)值型數(shù)據(jù)
2.1、number(p,s):其中p是表示有效數(shù) ,s可以為負(fù)數(shù)字靶擦,s表示小數(shù)點(diǎn)后面的位數(shù)
2.2腮考、float(n) :主要用于存儲(chǔ)二進(jìn)制數(shù)據(jù),n表示二進(jìn)制的位數(shù)是1到126位
三玄捕、日期型數(shù)據(jù)
3.1踩蔚、date :精確到秒,存儲(chǔ)范圍:公元前4712年1月1日到公元9999年12月31日枚粘,
備注:date 中包含的信息有:century(世紀(jì)信息)馅闽、year(年份信息)、month(月份信息)馍迄、day(天數(shù)信息)福也、hour(小時(shí)信息)、 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???minutes(分鐘信息)柬姚、second(秒數(shù)信息)拟杉,yyyy代表年,mm代表月量承,dd代表當(dāng)月中第幾天搬设,hh代表小時(shí),mi代表分鐘撕捍, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ss代表秒
3.2拿穴、 timestamp(時(shí)間戳) :精確到毫秒
四、lob類型數(shù)據(jù)
blob:存放4G的數(shù)據(jù)忧风,以二進(jìn)制存放數(shù)據(jù)
clob :存放4G的數(shù)據(jù)默色,以字符串的形式存放
bfile:作為單獨(dú)文件存在的二進(jìn)制數(shù)據(jù)
五、oracle中的特殊數(shù)據(jù)
5.1狮腿、rowid
rowid用于標(biāo)識(shí)數(shù)據(jù)物理地址的列腿宰,由數(shù)據(jù)庫(kù)自動(dòng)添加,rowid位置靠后的記錄不一定是晚插入的數(shù)據(jù)缘厢,oracle總是查找空閑的 ? ? ? ? ? ? ? ? ? ??空間進(jìn)行插入動(dòng)作
5.2吃度、null與空字符串
oracle中將空字符串視為null,在oracle中判斷某列的值是否為空贴硫,不能將該列的值與空字符串比較椿每,而是使用is null
select * from hh where name is null;
5.3伊者、單引號(hào)與雙引號(hào)
oracle中,單引號(hào)用于界定字符串间护,雙引號(hào)用于標(biāo)識(shí)對(duì)象名稱
5.3.1亦渗、單引號(hào)若要存儲(chǔ),則要轉(zhuǎn)義
insert into hh values(2,'''David');?其中第一個(gè)單引號(hào)為字符串界定符汁尺,第二個(gè)為轉(zhuǎn)義符法精,第三個(gè)則為要存儲(chǔ)的單引號(hào)
5.3.2、雙引號(hào)均函,雙引號(hào)主要作用有
1亿虽、用作特殊的列名菱涤,若列名中間有空格苞也,要用到雙引號(hào)
alter table hh rename column name to "user name";
2、控制列名的大小寫形式粘秆,一般情況下如迟,oracle會(huì)自動(dòng)將所有列名改為大寫形式,要顯示為小寫攻走,可以用雙引號(hào)alter table hh rename column age?to "age";
備注:用雙引號(hào)創(chuàng)建或修改的列殷勘,查詢時(shí)也必須帶雙引號(hào),否則會(huì)報(bào)錯(cuò)
select "age" from hh;