當前位置:首頁 » 操作系統 » oracle資料庫的格式

oracle資料庫的格式

發布時間: 2022-05-29 06:35:25

① 怎麼設置oracle資料庫的編碼格式

查看及修改oracle編碼格式方法:
1、查看oracle資料庫字元集:
select userenv('language') from al;
查詢結果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
2、修改oracle資料庫字元集:(在sql Plus中)
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use UTF8
sql> shutdown immediate;
sql> startup;

② oracle資料庫中存的格式是YYYYMMDDHHmmss的字元串,怎麼轉換成YYYY-MM-DD HH:mm:ss

1、創建測試表,

create table test_date_conv(id varchar2(20),v_date varchar2(200));

③ oracle 數據類型

按類型分為:字元串類型、數字類型、日期類型、LOB類型、LONG RAW& RAW類型、ROWID & UROWID類型。

在講敘字元串類型前,先要講一下編碼。字元串類型的數據可依編碼方式分成資料庫字元集(CHAR/VARCHAR2/CLOB/LONG)和國際字元集(NCHAR/NVARCHAR2/NCLOB)兩種。資料庫中的字元串數據都通過字元集將字元轉換為數字後(二進制),才存儲到數據塊中。通過不同的編碼集轉換,即便是相同的字元,也可能會轉換成不同的二進制編碼。這也是產生亂碼的原因。資料庫的編碼格式一般是在創建資料庫時指定的。當然也可以修改資料庫的編碼。

一 字元串類型

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

CHAR類型,定長字元串,會用空格填充來達到其最大長度。非NULL的CHAR(12)總是包含12位元組信息。CHAR欄位最多可以存儲2,000位元組的信息。如果創建表時,不指定CHAR長度,則默認為1。另外你可以指定它存儲位元組或字元,例如 CHAR(12 BYTYE) CHAR(12 CHAR).一般來說默認是存儲位元組

注意:資料庫的NLS_CHARACTERSET 為AL32UTF8,即一個漢字佔用三到四個位元組。如果NLS_CHARACTERSET為ZHS16GBK,則一個字元佔用兩個位元組。

1.2: NCHAR類型

這是一個包含UNICODE格式數據的定長字元串。NCHAR欄位最多可以存儲2,000位元組的信息。它的最大長度取決於國家字元集。

1.3 VARCHAR類型

不要使用VARCHAR數據類型。使用VARCHAR2數據類型。

1.4: VARCHAR2類型

變長字元串,與CHAR類型不同,它不會使用空格填充至最大長度。VARCHAR2最多可以存儲4,000位元組的信息。

1.5: NVARCHAR2類型

這是一個包含UNICODE格式數據的變長字元串。 NVARCHAR2最多可以存儲4,000位元組的信息。

二. 數字類型

2.1 NUMBER類型

NUMBER(P,S)是最常見的數字類型,可以存放數據范圍為10130~10126(不包含此值),需要1~22位元組(BYTE)不等的存儲空間。

P 是Precison的英文縮寫,即精度縮寫,表示有效數字的位數,最多不能超過38個有效數字

S是Scale的英文縮寫,可以使用的范圍為-84~127。Scale為正數時,表示從小數點到最低有效數字的位數,它為負數時,表示從最大有效數字到小數點的位數

下面是官方文檔的示例

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類型

INTEGER是NUMBER的子類型,它等同於NUMBER(38,0),用來存儲整數。若插入、更新的數值有小數,則會被四捨五入。

2.3 浮點數

Oracle 資料庫提供了專為浮點數的兩種數值數據類型:

BINARY_FLOAT

BINARY_FLOAT 是 32 位、 單精度浮點數字數據類型。可以支持至少6位精度,每個 BINARY_FLOAT 的值需要 5 個位元組,包括長度位元組。

BINARY_DOUBLE

BINARY_DOUBLE 是為 64 位,雙精度浮點數字數據類型。每個 BINARY_DOUBLE 的值需要 9 個位元組,包括長度位元組。

在數字的列中,浮點數有小數精度。在 BINARY_FLOAT 或 BINARY_DOUBLE 的列中,浮點數有二進制的精度。二進制浮點數支持的特殊值無窮大和 NaN (不是數字)。

2.5 FLOAT類型

FLOAT類型也是NUMBER的子類型。

Float(n),數 n 指示位的精度,可以存儲的值的數目。N 值的范圍可以從 1 到 126。若要從二進制轉換為十進制的精度,請將 n 乘以 0.30103。要從十進制轉換為二進制的精度,請用 3.32193 乘小數精度。126 位二進制精度的最大值是大約相當於 38 位小數精度。

三. 日期類型

日期類型用於存儲日期數據,但是並不是使用一般的格式(2012-08-08)直接存儲到資料庫的。

3.1 DATE類型

DATE是最常用的數據類型,日期數據類型存儲日期和時間信息。雖然可以用字元或數字類型表示日期和時間信息,但是日期數據類型具有特殊關聯的屬性。為每個日期值,Oracle 存儲以下信息: 世紀、 年、 月、 日期、 小時、 分鍾和秒。一般佔用7個位元組的存儲空間。

3.2 TIMESTAMP類型

這是一個7位元組或12位元組的定寬日期/時間數據類型。它與DATE數據類型不同,因為TIMESTAMP可以包含小數秒,帶小數秒的TIMESTAMP在小數點右邊最多可以保留9位

3.3 TIMESTAMP WITH TIME ZONE類型

這是TIMESTAMP類型的變種,它包含了時區偏移量的值

3.4 TIMESTAMP WITH LOCAL TIME ZONE類型

3.5 INTERVAL YEAR TO MOTH

3.6 INTERVAL DAY TO SECOND

四. LOB類型

內置的LOB數據類型包括BLOB、CLOB、NCLOB、BFILE(外部存儲)的大型化和非結構化數據,如文本、圖像、視屏、空間數據存儲。BLOB、CLOB、NCLOB類型

4.1 CLOB 數據類型

它存儲單位元組和多位元組字元數據。支持固定寬度和可變寬度的字元集。CLOB對象可以存儲最多 (4 gigabytes-1) * (database block size) 大小的字元

4.2 NCLOB 數據類型

它存儲UNICODE類型的數據,支持固定寬度和可變寬度的字元集,NCLOB對象可以存儲最多(4 gigabytes-1) * (database block size)大小的文本數據。

4.3 BLOB 數據類型

它存儲非結構化的二進制數據大對象,它可以被認為是沒有字元集語義的比特流,一般是圖像、聲音、視頻等文件。BLOB對象最多存儲(4 gigabytes-1) * (database block size)的二進制數據。

4.4 BFILE 數據類型

二進制文件,存儲在資料庫外的系統文件,只讀的,資料庫會將該文件當二進制文件處理

五. RAW & LONG RAW類型

5.1 LONG類型

它存儲變長字元串,最多達2G的字元數據(2GB是指2千兆位元組, 而不是2千兆字元),與VARCHAR2 或CHAR 類型一樣,存儲在LONG 類型中的文本要進行字元集轉換。ORACLE建議開發中使用CLOB替代LONG類型。支持LONG 列只是為了保證向後兼容性。CLOB類型比LONG類型的限制要少得多。 LONG類型的限制如下:

1.一個表中只有一列可以為LONG型。(Why?有些不明白)

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

3.不能建立索引

4.LONG數據不能指定正則表達式。

5.函數或存儲過程不能接受LONG數據類型的參數。

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

5.2 LONG RAW 類型,能存儲2GB 的原始二進制數據(不用進行字元集轉換的數據)

5.3 RAW類型

用於存儲二進制或字元類型數據,變長二進制數據類型,這說明採用這種數據類型存儲的數據不會發生字元集轉換。這種類型最多可以存儲2,000位元組的信息

六. ROWID & UROWID類型

在資料庫中的每一行都有一個地址。然而,一些錶行的地址不是物理或永久的,或者不是ORACLE資料庫生成的。

例如,索引組織錶行地址存儲在索引的葉子,可以移動。

例如,外部表的ROWID(如通過網關訪問DB2表)不是​​標準的ORACLE的rowid。

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

創建基於邏輯的rowid在表中的主鍵。邏輯的rowid不會改變,只要主鍵不改變。索引組織表的ROWID偽UROWID數據類型。你可以訪問這個偽列,你會堆組織表的ROWID偽(即使用一個SELECT …ROWID語句)。如果你想存儲的rowid索引組織表,那麼你就可以定義一列的表型UROWID到列檢索值的ROWID偽。

④ oracle資料庫怎麼修改編碼格式utf-8

以下內容為固定寫法,可以修改資料庫編碼格式。
第一步:通過系統管理員許可權登錄資料庫。
sql> conn / as sysdba;
第二步:關閉資料庫和實例連接。
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
第三步:啟動資料庫實例連接。
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
第四步:限制其它用戶連接資料庫使用資源。
sql> alter system enable restricted session;
system altered.
第五步:設置作業進行為0個。
sql> alter system set job_queue_processes=0;
system altered.
第六步:設置啟動時間管理器的數量為0
sql> alter system set aq_tm_processes=0;
system altered.
第七步:打開資料庫連接
sql> alter database open;
database altered.
第八步:修改需要的編碼格式
sql> alter database character set internal_use GBK;
第九步:關閉連接。
sql> shutdown immediate;
第十步:啟動oracle進程。
sql> startup;
備註:常用的有:UTF-8,GBK 。
UTF-8:是一種針對Unicode的可變長度字元編碼,又稱萬國碼。由Ken Thompson於1992年創建。現在已經標准化為RFC 3629。UTF-8用1到6個位元組編碼UNICODE字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

⑤ 如何查看及修改oracle編碼格式方法

查看及修改oracle編碼格式方法:
1、查看oracle資料庫字元集:
select userenv('language') from al;
查詢結果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8
2、修改oracle資料庫字元集:(在SQL Plus中)
sql> conn / as sysdba;
sql> shutdown immediate;
database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.
total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.
sql> alter system enable restricted session;
system altered.
sql> alter system set job_queue_processes=0;
system altered.
sql> alter system set aq_tm_processes=0;
system altered.
sql> alter database open;
database altered.
sql> alter database character set internal_use UTF8
sql> shutdown immediate;
sql> startup;

⑥ 匯率在oracle資料庫里存什麼格式

如果問的是欄位數據類型,那麼個人認為最好是字元型,也就是char或者varchar2。
至於為什麼個人認為這個比較好,因為數字類型的,會有一點問題,比如1日元=0.06058RMB,那麼某一種外幣,可能得到的位數更多(比如韓元對美元,1韓元=0.0008913美元),那麼數字型就有可能出現問題,也就是小數點後面到底需要多少位,總數需要多少位,至於浮點型還是算了,因為浮點型本身就會四捨五入,本身就已經不夠精確了。
字元型就不會有這個問題,來個varchar2(20),那麼只要在20位以內都可以存儲,不管是小數點前還是後都沒有問題。而且字元型來說在oracle內計算其實和數字型是一樣的。
如果你問的是怎麼存儲,那就要看具體要求了,到底是存1RMB=多少XX元,還是1XX元=多少RMB,或者存成100XX元,或者100RMB,這個要看具體要求

⑦ oracle 所有的數據類型有哪些

Oracle資料庫的核心是表,表中的列使用到的常見數據類型如下:

對於日期類型,可以使用sysdate內置函數可以獲取當前的系統日期和時間,返回DATE類型,用systimestamp函數可以返回當前日期、時間和時區。

⑧ oracle資料庫裡面存的數據是什麼格式的,ini嗎 可以自定義格式嗎

數據文件是dbf,不能自定義的,可以通過程序導入導出

⑨ 怎麼查看oracle資料庫中的的編碼格式

首先查看oracle資料庫的編碼:SQL>select*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';修改字元集編碼(這會對資料庫的數據有直接的影響,謹慎操作):SQL>conn/assysdbaSQL>shutdownimmediate;SQL>startupmount;SQL>;SQL>ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;SQL>ALTERSYSTEMSETAQ_TM_PROCESSES=0;SQL>alterdatabaseopen;SQL>_USEZHS16GBK;SQL>shutdownimmediate;SQL>startup

⑩ oracle創建資料庫的時候怎麼設置編碼格式

啟動database configuration assistant,創建資料庫,參照下面的圖釋。

熱點內容
王者榮耀伺服器為什麼崩潰 發布:2024-05-02 15:03:23 瀏覽:964
android立方體 發布:2024-05-02 15:00:06 瀏覽:60
手機存儲的音樂刪除了怎麼辦 發布:2024-05-02 14:55:00 瀏覽:378
方舟如何運行伺服器 發布:2024-05-02 14:47:45 瀏覽:771
如何創作抖音模板腳本 發布:2024-05-02 14:42:36 瀏覽:855
ftp被動模式下載 發布:2024-05-02 14:33:25 瀏覽:314
教堂電影院ftp 發布:2024-05-02 14:32:35 瀏覽:482
程序編譯機 發布:2024-05-02 14:32:29 瀏覽:797
cf伺服器雲南一區雲空間 發布:2024-05-02 14:18:24 瀏覽:753
如何破解excel2007密碼 發布:2024-05-02 14:18:23 瀏覽:994