真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle怎么編碼格式 oracle數(shù)據(jù)庫(kù)設(shè)置編碼格式

oracle數(shù)據(jù)類(lèi)型

按類(lèi)型分為:字符串類(lèi)型、數(shù)字類(lèi)型、日期類(lèi)型、LOB類(lèi)型、LONG RAW RAW類(lèi)型、ROWID UROWID類(lèi)型。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、興山ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的興山網(wǎng)站制作公司

在講敘字符串類(lèi)型前,先要講一下編碼。字符串類(lèi)型的數(shù)據(jù)可依編碼方式分成數(shù)據(jù)庫(kù)字符集(CHAR/VARCHAR2/CLOB/LONG)和國(guó)際字符集(NCHAR/NVARCHAR2/NCLOB)兩種。數(shù)據(jù)庫(kù)中的字符串?dāng)?shù)據(jù)都通過(guò)字符集將字符轉(zhuǎn)換為數(shù)字后(二進(jìn)制),才存儲(chǔ)到數(shù)據(jù)塊中。通過(guò)不同的編碼集轉(zhuǎn)換,即便是相同的字符,也可能會(huì)轉(zhuǎn)換成不同的二進(jìn)制編碼。這也是產(chǎn)生亂碼的原因。數(shù)據(jù)庫(kù)的編碼格式一般是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)指定的。當(dāng)然也可以修改數(shù)據(jù)庫(kù)的編碼。

一 字符串類(lèi)型

1.1:CHAR類(lèi)型 CHAR(size [BYTE | CHAR])

CHAR類(lèi)型,定長(zhǎng)字符串,會(huì)用空格填充來(lái)達(dá)到其最大長(zhǎng)度。非NULL的CHAR(12)總是包含12字節(jié)信息。CHAR字段最多可以存儲(chǔ)2,000字節(jié)的信息。如果創(chuàng)建表時(shí),不指定CHAR長(zhǎng)度,則默認(rèn)為1。另外你可以指定它存儲(chǔ)字節(jié)或字符,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般來(lái)說(shuō)默認(rèn)是存儲(chǔ)字節(jié)

注意:數(shù)據(jù)庫(kù)的NLS_CHARACTERSET 為AL32UTF8,即一個(gè)漢字占用三到四個(gè)字節(jié)。如果NLS_CHARACTERSET為ZHS16GBK,則一個(gè)字符占用兩個(gè)字節(jié)。

1.2: NCHAR類(lèi)型

這是一個(gè)包含UNICODE格式數(shù)據(jù)的定長(zhǎng)字符串。NCHAR字段最多可以存儲(chǔ)2,000字節(jié)的信息。它的最大長(zhǎng)度取決于國(guó)家字符集。

1.3 VARCHAR類(lèi)型

不要使用VARCHAR數(shù)據(jù)類(lèi)型。使用VARCHAR2數(shù)據(jù)類(lèi)型。

1.4: VARCHAR2類(lèi)型

變長(zhǎng)字符串,與CHAR類(lèi)型不同,它不會(huì)使用空格填充至最大長(zhǎng)度。VARCHAR2最多可以存儲(chǔ)4,000字節(jié)的信息。

1.5: NVARCHAR2類(lèi)型

這是一個(gè)包含UNICODE格式數(shù)據(jù)的變長(zhǎng)字符串。 NVARCHAR2最多可以存儲(chǔ)4,000字節(jié)的信息。

二. 數(shù)字類(lèi)型

2.1 NUMBER類(lèi)型

NUMBER(P,S)是最常見(jiàn)的數(shù)字類(lèi)型,可以存放數(shù)據(jù)范圍為10130~10126(不包含此值),需要1~22字節(jié)(BYTE)不等的存儲(chǔ)空間。

P 是Precison的英文縮寫(xiě),即精度縮寫(xiě),表示有效數(shù)字的位數(shù),最多不能超過(guò)38個(gè)有效數(shù)字

S是Scale的英文縮寫(xiě),可以使用的范圍為-84~127。Scale為正數(shù)時(shí),表示從小數(shù)點(diǎn)到最低有效數(shù)字的位數(shù),它為負(fù)數(shù)時(shí),表示從最大有效數(shù)字到小數(shù)點(diǎn)的位數(shù)

下面是官方文檔的示例

Actual Data Specified As Stored As

123.89 NUMBER 123.89

123.89 NUMBER(3) 124

123.89 NUMBER(6,2) 123.89

123.89 NUMBER(6,1) 123.9

123.89 NUMBER(3) 124

123.89 NUMBER(4,2) exceeds precision

123.89 NUMBER(6,-2) 100

.01234 NUMBER(4,5).01234

.00012 NUMBER(4,5) .00012

.000127 NUMBER(4,5) .00013

.0000012 NUMBER(2,7) .0000012

.00000123 NUMBER(2,7) .0000012

1.2e-4 NUMBER(2,5) 0.00012

1.2e-5 NUMBER(2,5) 0.00001

2.2 INTEGER類(lèi)型

INTEGER是NUMBER的子類(lèi)型,它等同于NUMBER(38,0),用來(lái)存儲(chǔ)整數(shù)。若插入、更新的數(shù)值有小數(shù),則會(huì)被四舍五入。

2.3 浮點(diǎn)數(shù)

Oracle 數(shù)據(jù)庫(kù)提供了專(zhuān)為浮點(diǎn)數(shù)的兩種數(shù)值數(shù)據(jù)類(lèi)型:

BINARY_FLOAT

BINARY_FLOAT 是 32 位、 單精度浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)類(lèi)型??梢灾С种辽?位精度,每個(gè) BINARY_FLOAT 的值需要 5 個(gè)字節(jié),包括長(zhǎng)度字節(jié)。

BINARY_DOUBLE

BINARY_DOUBLE 是為 64 位,雙精度浮點(diǎn)數(shù)字?jǐn)?shù)據(jù)類(lèi)型。每個(gè) BINARY_DOUBLE 的值需要 9 個(gè)字節(jié),包括長(zhǎng)度字節(jié)。

在數(shù)字的列中,浮點(diǎn)數(shù)有小數(shù)精度。在 BINARY_FLOAT 或 BINARY_DOUBLE 的列中,浮點(diǎn)數(shù)有二進(jìn)制的精度。二進(jìn)制浮點(diǎn)數(shù)支持的特殊值無(wú)窮大和 NaN (不是數(shù)字)。

2.5 FLOAT類(lèi)型

FLOAT類(lèi)型也是NUMBER的子類(lèi)型。

Float(n),數(shù) n 指示位的精度,可以存儲(chǔ)的值的數(shù)目。N 值的范圍可以從 1 到 126。若要從二進(jìn)制轉(zhuǎn)換為十進(jìn)制的精度,請(qǐng)將 n 乘以 0.30103。要從十進(jìn)制轉(zhuǎn)換為二進(jìn)制的精度,請(qǐng)用 3.32193 乘小數(shù)精度。126 位二進(jìn)制精度的最大值是大約相當(dāng)于 38 位小數(shù)精度。

三. 日期類(lèi)型

日期類(lèi)型用于存儲(chǔ)日期數(shù)據(jù),但是并不是使用一般的格式(2012-08-08)直接存儲(chǔ)到數(shù)據(jù)庫(kù)的。

3.1 DATE類(lèi)型

DATE是最常用的數(shù)據(jù)類(lèi)型,日期數(shù)據(jù)類(lèi)型存儲(chǔ)日期和時(shí)間信息。雖然可以用字符或數(shù)字類(lèi)型表示日期和時(shí)間信息,但是日期數(shù)據(jù)類(lèi)型具有特殊關(guān)聯(lián)的屬性。為每個(gè)日期值,Oracle 存儲(chǔ)以下信息: 世紀(jì)、 年、 月、 日期、 小時(shí)、 分鐘和秒。一般占用7個(gè)字節(jié)的存儲(chǔ)空間。

3.2 TIMESTAMP類(lèi)型

這是一個(gè)7字節(jié)或12字節(jié)的定寬日期/時(shí)間數(shù)據(jù)類(lèi)型。它與DATE數(shù)據(jù)類(lèi)型不同,因?yàn)門(mén)IMESTAMP可以包含小數(shù)秒,帶小數(shù)秒的TIMESTAMP在小數(shù)點(diǎn)右邊最多可以保留9位

3.3 TIMESTAMP WITH TIME ZONE類(lèi)型

這是TIMESTAMP類(lèi)型的變種,它包含了時(shí)區(qū)偏移量的值

3.4 TIMESTAMP WITH LOCAL TIME ZONE類(lèi)型

3.5 INTERVAL YEAR TO MOTH

3.6 INTERVAL DAY TO SECOND

四. LOB類(lèi)型

內(nèi)置的LOB數(shù)據(jù)類(lèi)型包括BLOB、CLOB、NCLOB、BFILE(外部存儲(chǔ))的大型化和非結(jié)構(gòu)化數(shù)據(jù),如文本、圖像、視屏、空間數(shù)據(jù)存儲(chǔ)。BLOB、CLOB、NCLOB類(lèi)型

4.1 CLOB 數(shù)據(jù)類(lèi)型

它存儲(chǔ)單字節(jié)和多字節(jié)字符數(shù)據(jù)。支持固定寬度和可變寬度的字符集。CLOB對(duì)象可以存儲(chǔ)最多 (4 gigabytes-1) * (database block size) 大小的字符

4.2 NCLOB 數(shù)據(jù)類(lèi)型

它存儲(chǔ)UNICODE類(lèi)型的數(shù)據(jù),支持固定寬度和可變寬度的字符集,NCLOB對(duì)象可以存儲(chǔ)最多(4 gigabytes-1) * (database block size)大小的文本數(shù)據(jù)。

4.3 BLOB 數(shù)據(jù)類(lèi)型

它存儲(chǔ)非結(jié)構(gòu)化的二進(jìn)制數(shù)據(jù)大對(duì)象,它可以被認(rèn)為是沒(méi)有字符集語(yǔ)義的比特流,一般是圖像、聲音、視頻等文件。BLOB對(duì)象最多存儲(chǔ)(4 gigabytes-1) * (database block size)的二進(jìn)制數(shù)據(jù)。

4.4 BFILE 數(shù)據(jù)類(lèi)型

二進(jìn)制文件,存儲(chǔ)在數(shù)據(jù)庫(kù)外的系統(tǒng)文件,只讀的,數(shù)據(jù)庫(kù)會(huì)將該文件當(dāng)二進(jìn)制文件處理

五. RAW LONG RAW類(lèi)型

5.1 LONG類(lèi)型

它存儲(chǔ)變長(zhǎng)字符串,最多達(dá)2G的字符數(shù)據(jù)(2GB是指2千兆字節(jié), 而不是2千兆字符),與VARCHAR2 或CHAR 類(lèi)型一樣,存儲(chǔ)在LONG 類(lèi)型中的文本要進(jìn)行字符集轉(zhuǎn)換。ORACLE建議開(kāi)發(fā)中使用CLOB替代LONG類(lèi)型。支持LONG 列只是為了保證向后兼容性。CLOB類(lèi)型比LONG類(lèi)型的限制要少得多。 LONG類(lèi)型的限制如下:

1.一個(gè)表中只有一列可以為L(zhǎng)ONG型。(Why?有些不明白)

2.LONG列不能定義為主鍵或唯一約束,

3.不能建立索引

4.LONG數(shù)據(jù)不能指定正則表達(dá)式。

5.函數(shù)或存儲(chǔ)過(guò)程不能接受LONG數(shù)據(jù)類(lèi)型的參數(shù)。

6.LONG列不能出現(xiàn)在WHERE子句或完整性約束(除了可能會(huì)出現(xiàn)NULL和NOT NULL約束)

5.2 LONG RAW 類(lèi)型,能存儲(chǔ)2GB 的原始二進(jìn)制數(shù)據(jù)(不用進(jìn)行字符集轉(zhuǎn)換的數(shù)據(jù))

5.3 RAW類(lèi)型

用于存儲(chǔ)二進(jìn)制或字符類(lèi)型數(shù)據(jù),變長(zhǎng)二進(jìn)制數(shù)據(jù)類(lèi)型,這說(shuō)明采用這種數(shù)據(jù)類(lèi)型存儲(chǔ)的數(shù)據(jù)不會(huì)發(fā)生字符集轉(zhuǎn)換。這種類(lèi)型最多可以存儲(chǔ)2,000字節(jié)的信息

六. ROWID UROWID類(lèi)型

在數(shù)據(jù)庫(kù)中的每一行都有一個(gè)地址。然而,一些表行的地址不是物理或永久的,或者不是ORACLE數(shù)據(jù)庫(kù)生成的。

例如,索引組織表行地址存儲(chǔ)在索引的葉子,可以移動(dòng)。

例如,外部表的ROWID(如通過(guò)網(wǎng)關(guān)訪(fǎng)問(wèn)DB2表)不是標(biāo)準(zhǔn)的ORACLE的rowid。

ORACLE使用通用的ROWID(UROWIDs)的存儲(chǔ)地址的索引組織表和外表。索引組織表有邏輯urowids的,和國(guó)外表的外urowids。UROWID這兩種類(lèi)型的存儲(chǔ)在ROWID偽(堆組織的表的物理行id)。

創(chuàng)建基于邏輯的rowid在表中的主鍵。邏輯的rowid不會(huì)改變,只要主鍵不改變。索引組織表的ROWID偽UROWID數(shù)據(jù)類(lèi)型。你可以訪(fǎng)問(wèn)這個(gè)偽列,你會(huì)堆組織表的ROWID偽(即使用一個(gè)SELECT …ROWID語(yǔ)句)。如果你想存儲(chǔ)的rowid索引組織表,那么你就可以定義一列的表型UROWID到列檢索值的ROWID偽。

如何查看oracle的編碼格式

服務(wù)器端字符集編碼么? 有權(quán)限的用戶(hù)可以通過(guò) select * from v$nls_parameters l where l.PARAMETER='NLS_CHARACTERSET' 查詢(xún) 正常使用alter database CHARACTERSE 命令來(lái)修改服務(wù)器端的字符集 高版本(9i及以后)的數(shù)據(jù)

怎么把oracle的字符編碼從American_America.ZHS16GBK 改成SIMPLIFIED CHINESE_CHINA.ZHS16GBK,

1、首先在電腦上找到并打開(kāi)PLSQL,彈出登陸界面,進(jìn)去登陸。

2、然后隨便寫(xiě)了一個(gè)查詢(xún)語(yǔ)句,發(fā)現(xiàn)顯示有亂碼。

3、這時(shí)先查看oracle服務(wù)器端的字符編碼是什么。

4、配置一個(gè)環(huán)境變量就可以解決問(wèn)題,這時(shí)回到電腦桌面,打開(kāi)計(jì)算機(jī)屬性。

5、然后點(diǎn)擊高級(jí)系統(tǒng)設(shè)置,接著在高級(jí)選項(xiàng)卡下點(diǎn)擊-環(huán)境變量選項(xiàng)。

6、然后點(diǎn)擊新建,名稱(chēng)和變量值如下圖所示,點(diǎn)擊確定。

7、最后加好環(huán)境變量之后,關(guān)閉PLSQL重新打開(kāi),寫(xiě)一個(gè)查詢(xún)就不會(huì)再出現(xiàn)問(wèn)題了。

怎么修改Oracle的編碼格式

utf8:

ALTER DATABASE `數(shù)據(jù)庫(kù)` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

ALTER TABLE `數(shù)據(jù)表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

gbk (包含gb2312):

ALTER DATABASE `數(shù)據(jù)庫(kù)` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci

ALTER TABLE `數(shù)據(jù)表` DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci


新聞標(biāo)題:oracle怎么編碼格式 oracle數(shù)據(jù)庫(kù)設(shè)置編碼格式
URL地址:http://weahome.cn/article/hjgjhj.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部