oracle數(shù)據(jù)庫修改字符集編碼 深入Oracle字符集的查看與修改詳解?
深入Oracle字符集的查看與修改詳解?oracle服務(wù)器和客戶端字符集的查找和修改一、什么是oracle字符集Oracle字符集是一個字節(jié)數(shù)據(jù)的解釋的符號整數(shù)集,有大小之分,有相互之間的包容關(guān)系。O
深入Oracle字符集的查看與修改詳解?
oracle服務(wù)器和客戶端字符集的查找和修改
一、什么是oracle字符集
Oracle字符集是一個字節(jié)數(shù)據(jù)的解釋的符號整數(shù)集,有大小之分,有相互之間的包容關(guān)系。ORACLE意見國家語言的體系結(jié)構(gòu)允許你在用本地化語言來存儲,全面處理,檢索數(shù)據(jù)庫數(shù)據(jù)。它使數(shù)據(jù)庫工具,錯誤消息,排序次序,日期,時間,貨幣,數(shù)字,和日歷自動適應(yīng)適應(yīng)本地化語言和平臺。
影響不大oracle數(shù)據(jù)庫字符集最重要的參數(shù)是NLS_LANG參數(shù)。
它的格式如下:NLS_LANGlanguage_
它有三個組成部分(語言、地域和字符集),每個成分壓制了NLS子集的特性。
其中:
Language指定服務(wù)器消息的語言,territory指定你服務(wù)器的日期和數(shù)字格式,charset指定你字符集。如:AMERICAN_AMERICA.ZHS16GBK
從NLS_LANG的組成我們可以猜想,真正引響數(shù)據(jù)庫字符集的其實(shí)是第三部分。
因此兩個數(shù)據(jù)庫之間的字符集只要第三部分一樣的就可以不彼此間導(dǎo)入數(shù)據(jù),前面影響的僅僅總是顯示信息是中文肯定英文。
二.打開系統(tǒng)數(shù)據(jù)庫字符集
這比較復(fù)雜三方面的字符集,
一是oracelserver端的字符集
二是oracleclient端的字符集
三是dmp文件的字符集。
在做數(shù)據(jù)導(dǎo)入的時候,是需要這三個字符集都完全不同才能錯誤的導(dǎo)入。
1、去查詢oracleserver端的字符集
有很多種方法可以查oracleserver端的字符集,比較非常直觀的查詢方法是以下這種:
SQLgtselectuserenv(‘language')returningdual
而的的不勝感激:AMERICAN_AMERICA.ZHS16GBK
2、怎么網(wǎng)上查詢dmp文件的字符集
用oracle的exp工具導(dǎo)出來的dmp文件也中有了字符集信息,dmp文件的第2和第3個字節(jié)記錄信息了dmp文件的字符集。假如dmp文件不是太大,比如說只有幾M或幾十M,可以用UltraEdit再打開(16進(jìn)制),看第2第3個字節(jié)的內(nèi)容,如0354,后再用100元以內(nèi)SQL得查它隨機(jī)的字符集:
SQLgtselectnls_charset_name(need_nu
oracle中如何判斷字符串中是否有某一個字符?
instr()selectinstr(0,0,s,1,1)acrosshyper;如果沒有能可以找到,直接返回上次會出現(xiàn)s的位置,否則不趕往0