欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) Oracle的數(shù)據(jù)類型

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) Oracle的數(shù)據(jù)類型

http://yzkb.51969.com/

文章目錄

一、數(shù)值類型1.number(p,s)類型2. number類型的子類型3. float類型4. binary_float和binary_double類型

二、字符類型三、日期類型四、long類型與大型對(duì)象數(shù)據(jù)類型五、rowid 和 urowid類型

一、數(shù)值類型

oracle中的數(shù)值類型主要為三種:number,binary_float,binary_double,其他的類型基本上都是number類型的子類型。

1.number(p,s)類型

p精度,表示包括小數(shù)在內(nèi)的總共有效位數(shù),p的取值范圍為[138](若沒(méi)有指定,默認(rèn)為38);s表示精確到多少位,取值范圍為[-84127](若沒(méi)有指定,默認(rèn)為0),當(dāng)s取負(fù)數(shù)時(shí),將小數(shù)點(diǎn)左邊的s位置為0,并四舍五入。當(dāng)小數(shù)位數(shù)大于s時(shí),采用四舍五入的方式。當(dāng)整數(shù)部分的長(zhǎng)度大于p-s時(shí),報(bào)錯(cuò)。需要22個(gè)字節(jié)的存儲(chǔ)空間。

官方文檔的例子:

2. number類型的子類型

integer或int是number的子類型,等同于number(38)smallint是number的子類型,等同于number(38)decimal是number(p,s)的子類型,可以使用decimal(p,s),若p,s未指定,等同于number(38)

3. float類型

float(b),數(shù)b表示二進(jìn)制進(jìn)度,b的取值范圍為[1,126],默認(rèn)為126real是float(b)的子類型,等同于float(63)

上述的b是一個(gè)二進(jìn)制精度(binary precision),而不是我們通常說(shuō)的十進(jìn)制精度(decimal precision),需要進(jìn)行以下的轉(zhuǎn)換:binary precision=int(b0.30103) 舉例來(lái)說(shuō):當(dāng)b=2,則對(duì)應(yīng)的十進(jìn)制精度為int(20.30103)=0,即小數(shù)點(diǎn)后精度為0。 eg:56.2存儲(chǔ)到float(2)變?yōu)?0。計(jì)算過(guò)程:56.2=5.6 * 10 ^ 1,因?yàn)榫葹?只能取到整數(shù),5.62四舍五入后為6, 最后取值為6 * 10 ^ 1=60

4. binary_float和binary_double類型

binary_float 32位單精度浮點(diǎn)數(shù)數(shù)據(jù)類型,需要5個(gè)字節(jié)(4字節(jié)+1個(gè)長(zhǎng)度字節(jié))支持至少6位精度。binary_double 64位雙精度浮點(diǎn)數(shù)數(shù)據(jù)類型,需要9個(gè)字節(jié)(8字節(jié)+1個(gè)長(zhǎng)度字節(jié))。

例:

create table test_num(

n1 number,

n2 number(38),

n3 number(9,2),

n4 int,

n5 smallint,

n6 decimal(5,2),

n7 float,

n8 float(2),

n9 real,

n10 binary_float,

n11 binary_double

);

插入數(shù)據(jù)并查詢結(jié)果:

insert into test_num values (1.23, 123, 7456123.89, 573, 34, 673.43, 34.1264, 56.2, 23.231, 12.34f, 34.56d);

select * from test_num;

數(shù)值類型總結(jié):binary_float和binary_double不常用,因?yàn)槠浔硎痉秶罂捎糜诳茖W(xué)計(jì)算,但精度沒(méi)有number類型高(可用于金融數(shù)據(jù)),而float表示的是二進(jìn)制精度,需要進(jìn)行精度轉(zhuǎn)換。綜上,在使用Oracle的數(shù)值類型時(shí)我們最好都采用number(p,s)的方式。

二、字符類型

char 定長(zhǎng)字符類型(未達(dá)到指定長(zhǎng)度時(shí),自動(dòng)在末尾用空格補(bǔ)全);默認(rèn)值為1;最大2000字節(jié);非unicode。nchar 定長(zhǎng)字符類型(未達(dá)到指定長(zhǎng)度時(shí),自動(dòng)在末尾用空格補(bǔ)全);默認(rèn)值為1;最大2000字節(jié);根據(jù)unicode,所有字符都占兩個(gè)字節(jié)。varchar2 變長(zhǎng)字符類型(未達(dá)到指定長(zhǎng)度時(shí),不自動(dòng)補(bǔ)全空格);定義時(shí)需指定長(zhǎng)度;最大為4000字節(jié);非unicode。nvarchar2 變長(zhǎng)字符類型(未達(dá)到指定長(zhǎng)度時(shí),不自動(dòng)補(bǔ)全空格);定義時(shí)需指定長(zhǎng)度;最大為4000字節(jié);根據(jù)unicode,所有字符都占兩個(gè)字節(jié)。

說(shuō)明:(1)unicode字符集是為了解決字符集不兼容的問(wèn)題而產(chǎn)生的,所有字符都用兩個(gè)字節(jié)表示,即英文字符也用兩個(gè)字節(jié)表示。(2)以上的最大長(zhǎng)度都是指字節(jié)長(zhǎng)度,而非字符個(gè)數(shù),如char(1)就連一個(gè)漢字都不能存放。

例:

create table test_char(

country_id char,

city_id nchar(2),

address varchar2(4000),

name nvarchar2(4)

);

插入數(shù)據(jù)并查詢:

insert into test_char values ('1', '中國(guó)', '浙江省杭州市西湖區(qū)', '司馬相如');

三、日期類型

date 存儲(chǔ)以下信息:世紀(jì),年,月,日,時(shí),分,秒。占用七個(gè)字節(jié)存儲(chǔ)空間,每個(gè)部分占用一個(gè)字節(jié)。timestamp(precision) ,precision的取值范圍為[0,9],默認(rèn)為6(微秒),最大為9(納秒);7字節(jié)或12字節(jié)的定寬日期/時(shí)間數(shù)據(jù)類型;秒的小數(shù)部分位數(shù)超過(guò)precision但未超過(guò)9時(shí),按精度四舍五入,超過(guò)9時(shí)報(bào)錯(cuò)timestamp(precision) with time zone 該類型是在timestamp(precison)的基礎(chǔ)上加入了時(shí)區(qū)偏移量的值。timestamp with local time zone 存儲(chǔ)時(shí)轉(zhuǎn)化為數(shù)據(jù)庫(kù)時(shí)區(qū)進(jìn)行規(guī)范化存儲(chǔ),但不存儲(chǔ)時(shí)區(qū)信息,客戶端檢索時(shí),按客戶端時(shí)區(qū)的時(shí)間數(shù)據(jù)返回給客戶端interval year(precision) to month 可以用來(lái)表示幾年幾月的時(shí)間間隔,precision的取值范圍為[0~9],默認(rèn)為2表示不超過(guò)兩位數(shù)的一個(gè)數(shù)interval day(days_precision) to second(seconds_precision) 可以用來(lái)存儲(chǔ)天、小時(shí)、分和秒的時(shí)間間隔,days_preciosn取值范圍為[0 ~ 9],默認(rèn)是2,seconds_precision取值范圍為[0~9],默認(rèn)是6

例:

create table test_date(

t1 date,

t2 timestamp(6),

t3 timestamp(9) with time zone,

t4 timestamp with local time zone,

t5 interval year(3) to month,

t6 interval day(3) to second(6)

);

插入數(shù)據(jù)并查詢結(jié)果

insert into test_date (t1, t2, t3, t4) values (sysdate, sysdate, sysdate, sysdate);

insert into test_date (t1) values (to_date('2013-1-21 5:23:01','yyyy-mm-dd hh24:mi:ss'));

insert into test_date (t1) values (to_date('20131112203256', 'yyyymmddhh24miss'));

insert into test_date (t2) values (to_timestamp('20191112203357.999997623', 'yyyymmddhh24miss.ff'));

insert into test_date (t3) values (to_timestamp_tz('20191112203357.999996623', 'yyyymmddhh24miss.ff'));

insert into test_date (t4) values (to_timestamp_tz('20191112203357.999996623', 'yyyymmddhh24miss.ff'));

insert into test_date (t5) values (interval '11' year);

insert into test_date (t5) values (interval '223-9' year(3) to month);

insert into test_date (t6) values (interval '12 10:23:01.1234568' day to second);

四、long類型與大型對(duì)象數(shù)據(jù)類型

long 文本類型,最多達(dá)2GB;long列不能作為主鍵或唯一約束;存儲(chǔ)時(shí)需要進(jìn)行字符集轉(zhuǎn)換;一個(gè)表中只有一列可以為long或long raw;不支持分布式事務(wù);限制較多l(xiāng)ong raw 可變長(zhǎng)二進(jìn)制數(shù)據(jù),不用進(jìn)行字符集轉(zhuǎn)換的數(shù)據(jù),最長(zhǎng)2GB。blob二進(jìn)制大型對(duì)象,存儲(chǔ)圖片,音樂(lè),視頻等信息,通常將文件轉(zhuǎn)為二進(jìn)制再存進(jìn)去;存儲(chǔ)的最大大小為4G;支持隨機(jī)存儲(chǔ)clob字符大型對(duì)象,存儲(chǔ)文章或較長(zhǎng)的文字。存儲(chǔ)的最大大小為4G。nclob存儲(chǔ)Unicode類型的數(shù)據(jù),根據(jù)字符集而定的字符類型,最大長(zhǎng)度4G。bfile二進(jìn)制文件,存放指向操作系統(tǒng)文件的指針;指向的文件不是數(shù)據(jù)庫(kù)的一部分,只能在數(shù)據(jù)庫(kù)外維護(hù);只讀,數(shù)據(jù)庫(kù)將該文件當(dāng)二進(jìn)制文件處理。

例:

create table test_bigfile(

f1 long,

f2 blob,

f3 clob,

f4 nclob,

f5 bfile

);

插入數(shù)據(jù)并查詢:

insert into test_bigfile (f1, f2, f3, f4) values ('12323232', '2312', '111', '212');

insert into test_bigfile (f1, f2, f3, f4) values ('12323232', '231234', '111', '212');

說(shuō)明:bfile類型的插入需要指定文件所在的目錄位置,類似于 insert into test_bigfile (f5) values (bfilename(‘bfiledir’, ‘bfile1.txt’));其中bfiledir為文件路徑,這里就不在擴(kuò)展;long類型因?yàn)槠湎拗七^(guò)多,我們通常用blob,clob類型來(lái)代替。

五、rowid 和 urowid類型

rowid 行地址,十六進(jìn)制串,表示行在所在的表中唯一的行地址,該數(shù)據(jù)類型主要用于返回ROWID偽列,常用在可以將表中的每一條記錄都加以唯一標(biāo)識(shí)的場(chǎng)合,使用rowid來(lái)建立內(nèi)部索引。urowid支持邏輯的和物理的rowids。

我們以上述test_bigfile表為例:

select rowid from test_bigfile;

上述兩條記錄的查詢結(jié)果為:

解釋:從rowid偽列里查詢出來(lái)的rowid是基于base64編碼,一共有18位,分為4部分:OOOOOOFFFBBBBBBRRR OOOOOO: 六位表示data object id,根據(jù)object id可以確定segment; FFF: 三位表示相對(duì)文件號(hào);BBBBBB:六位表示data block number; RRR:三位表示row number,以此來(lái)確定唯一的行地址。

柚子快報(bào)邀請(qǐng)碼778899分享:數(shù)據(jù)庫(kù) Oracle的數(shù)據(jù)類型

http://yzkb.51969.com/

推薦鏈接

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18825738.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄