1.首先通過(guò)SQL語(yǔ)句:
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),珠山企業(yè)網(wǎng)站建設(shè),珠山品牌網(wǎng)站建設(shè),網(wǎng)站定制,珠山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,珠山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
select userenv('language') from dual;
查詢出服務(wù)器端的編碼,如我自己的查詢結(jié)果為:
USERENV('LANGUAGE')
AMERICAN_AMERICA.ZHS16GBK
2.添加環(huán)境變量NLS_LANG ,值為: AMERICAN_AMERICA.ZHS16GBK,由此即可解決該問(wèn)題。
實(shí)現(xiàn)思路:漢字的Unicode是用“\”開(kāi)始的,這個(gè)是與其它字符的區(qū)別。
sql: select * from tablename where asciistr(columnTest) like '%\%';
備注:這個(gè)asciistr就是字符轉(zhuǎn)Unicode的方法,記住用法就可以了。
Oracle以其強(qiáng)大的數(shù)據(jù)庫(kù)管理能力 高安全性 多用戶操作時(shí)數(shù)據(jù)的一致性 贏得了用戶的廣泛青睞 獲得了很高的市場(chǎng)占有率 但是 它在漢字信息顯示時(shí)存在多種字符集 且相互之間不能通用 這就給多數(shù)據(jù)庫(kù)之間的數(shù)據(jù)共享帶來(lái)了一些麻煩 筆者從事Oracle數(shù)據(jù)庫(kù)管理及應(yīng)用軟件的開(kāi)發(fā)工作多年 常遇到Oracle數(shù)據(jù)庫(kù)漢字顯示的問(wèn)題 主要現(xiàn)象是漢字顯示為不可識(shí)別的亂碼 信息無(wú)法使用 本文介紹筆者在實(shí)際工作中的一點(diǎn)心得 與大家一起探討 中英文Oracle之間的數(shù)據(jù)共享在筆者的實(shí)際工作中 有為多個(gè)二級(jí)廠礦開(kāi)發(fā)的基于Oracle數(shù)據(jù)庫(kù)的應(yīng)用程序 而各個(gè)單位所用的Oracle數(shù)據(jù)庫(kù) 在安裝時(shí)所采用的字符集各不相同 有的用英文字符集 有的用中文字符集 當(dāng)表中的數(shù)據(jù)只是數(shù)字 英文信息時(shí) 數(shù)據(jù)共享是可以的; 當(dāng)表中含有漢字信息時(shí) 以正常的方式進(jìn)行共享 就看不到漢字了 而只會(huì)見(jiàn)到一些亂碼 下面以O(shè)racle 版的數(shù)據(jù)庫(kù)為例說(shuō)明解決方法 假設(shè)源數(shù)據(jù)庫(kù)是中文字符集 目標(biāo)數(shù)據(jù)庫(kù)是英文字符集 利用 Delphi作為轉(zhuǎn)換工具 實(shí)際的步驟依據(jù)導(dǎo)入和導(dǎo)出有所不同 導(dǎo)出數(shù)據(jù)時(shí)步驟如下 配置客戶端字符集 首先將本機(jī)Oracle客戶端的字符集配置得和源數(shù)據(jù)庫(kù)的字符集一致 打開(kāi)注冊(cè)表 找到HKEY_LOCAL_MACHINE 選下面的SOFARE 再選Oracle 在注冊(cè)表中找到NLS_LANG 將值改為 AMERICAN_AMERICA ZHS CGB 配置數(shù)據(jù)庫(kù)別名 用Delphi的工具SQL EXPLORER配置兩個(gè)數(shù)據(jù)庫(kù)假名 其中DBSOURCE 用來(lái)連接源數(shù)據(jù)庫(kù) DBMIDDLE 用來(lái)連接中間數(shù)據(jù)庫(kù)(Paradox表) 導(dǎo)出 打開(kāi)Delphi的工具Database DeskTop 在主菜單中選Tools下面的Utilities 再選Copy 會(huì)彈出一個(gè)新的對(duì)話框 在Alias(數(shù)據(jù)庫(kù)別名)中選擇DBSOURCE 并輸入用戶口令 在打開(kāi)的數(shù)據(jù)庫(kù)中選擇需要的表 點(diǎn)擊OK按鈕 在Alias(數(shù)據(jù)庫(kù)別名)中選擇DBMIDDLE 在File Name欄中輸入目標(biāo)表名 點(diǎn)擊COPY按鈕 如果顯示: Copy Successfully Completed 則數(shù)據(jù)導(dǎo)出成功 導(dǎo)入數(shù)據(jù)時(shí)步驟如下: 配置客戶端字符集 首先將本機(jī)Oracle客戶端的字符集配置得和目標(biāo)數(shù)據(jù)庫(kù)的字符集一致 打開(kāi)注冊(cè)表 找到HKEY_LOCAL_MACHINE 選下面的SOFARE 再選Oracle 在注冊(cè)表中找到NLS_LANG 將值改為 AMERICAN_AMERICA US ASCII 配置數(shù)據(jù)庫(kù)別名 用Delphi的工具SQL EXPLORER配置一個(gè)數(shù)據(jù)庫(kù)別名 DBTARGET 用來(lái)連接目標(biāo)數(shù)據(jù)庫(kù) 導(dǎo)入 打開(kāi)Delphi的工具Database DeskTop 在主菜單中選Tools下面的Utilities 再選Copy 會(huì)彈出一個(gè)新的對(duì)話框 在Alias(數(shù)據(jù)庫(kù)別名)中選擇DBMIDDLE 在打開(kāi)的數(shù)據(jù)庫(kù)中選擇需要的表 點(diǎn)擊OK按鈕 在Alias(數(shù)據(jù)庫(kù)別名)中選擇DBTARGET 并輸入用戶口令 在File Name欄中輸入目標(biāo)表名 點(diǎn)擊COPY按鈕 如果顯示: Copy Successfully Completed 則數(shù)據(jù)導(dǎo)入成功 此時(shí) 在目標(biāo)數(shù)據(jù)庫(kù)中查看導(dǎo)入的表 漢字顯示就正常了 小型機(jī)和PC服務(wù)器之間的數(shù)據(jù)共享筆者所在公司有小型機(jī)Alpha 作為數(shù)據(jù)庫(kù)服務(wù)器 上面有多個(gè)二級(jí)單位使用 隨著時(shí)間的推移 數(shù)據(jù)增加 用戶增加 小型機(jī)不堪重負(fù) 運(yùn)行速度緩慢 不能滿足日常的工作需要 為了緩解這種情況 有部分單位自備了PC服務(wù)器 將數(shù)據(jù)從小型機(jī)上移植下來(lái) 建立了自己?jiǎn)为?dú)的數(shù)據(jù)庫(kù) 兩個(gè)數(shù)據(jù)庫(kù)都安裝的是英文字符集 從小型機(jī)上導(dǎo)出的數(shù)據(jù) 裝入到PC服務(wù)器 遇到漢字信息也不能正常顯示 這主要是因?yàn)閮烧叩牟僮飨到y(tǒng)不同 小型機(jī)上是VMS系統(tǒng) 而PC服務(wù)器上是NT 有兩種方法可以解決這個(gè)問(wèn)題: 用仿真終端的方式將數(shù)據(jù)導(dǎo)出 用Telnet連接到小型機(jī)上 執(zhí)行exp 將某個(gè)用戶的數(shù)據(jù)庫(kù)導(dǎo)出為一個(gè)* dmp文件 保存在PC服務(wù)器上 用FTP將數(shù)據(jù)取到本機(jī) 用FTP連接到小型機(jī)上 執(zhí)行bin 再執(zhí)行Get 將數(shù)據(jù)(* dmp文件)以二進(jìn)制的方式傳輸?shù)奖緳C(jī) 注意這里必須用二進(jìn)制方式 否則數(shù)據(jù)無(wú)法正常使用 得到小型機(jī)上的數(shù)據(jù)后 再將本機(jī)客戶端配置得和PC服務(wù)器的字符集一致 將數(shù)據(jù)導(dǎo)入PC服務(wù)器數(shù)據(jù)庫(kù)中 則一切數(shù)據(jù)均可使用了 數(shù)據(jù)庫(kù)升級(jí) 在數(shù)據(jù)庫(kù)的使用中常會(huì)遇到Oracle的版本升級(jí) 如何在保證原來(lái)數(shù)據(jù)安全的情況下 將數(shù)據(jù)庫(kù)平穩(wěn)地升級(jí)?這里分兩種情況 英文字符集的安裝 如果原來(lái)的數(shù)據(jù)庫(kù)安裝采用的是英文字符集 則從Oracle 升級(jí)到Oracle 時(shí) 只要將數(shù)據(jù)字典Props$中的參數(shù)修改為 US ASCII 即可 以系統(tǒng)DBA的身份登錄SQL*PLUS 執(zhí)行如下的命令 修改數(shù)據(jù)字典 SQLUPDATE PROPS$ SET VALUE$= US ASCII WHERE NAME= NLS_CHARACTERSET ; SQLMIT; 注意 修改后必須重新啟動(dòng)數(shù)據(jù)庫(kù) 配置才起作用 然后將從Oracle 中文字符集的安裝 如果原來(lái)的數(shù)據(jù)庫(kù)安裝采用的是中文字符集 直接將數(shù)據(jù)導(dǎo)入 是否可用呢?不可以 漢字顯示為亂碼 原因是Oracle 的中文字符集的參數(shù)是 ZHS CGB 而Oracle 的中文字符集的參數(shù)是 ZHS GBK 兩者不一樣 為了能正常地使用 必須修改Oracle 的數(shù)據(jù)字典的參數(shù)為 ZHS CGB 具體的修改步驟如下 用系統(tǒng)DBA的身份登錄SQL*PLUS 執(zhí)行 SQLUPDATE PROPS$ SET VALUE$= ZHS CGB WHERE NAME= NLS_CHARACTERSET ; SQLMIT; 注意 修改后必須重新啟動(dòng)數(shù)據(jù)庫(kù) 配置才起作用 然后將從Oracle 導(dǎo)出的數(shù)據(jù) 導(dǎo)入Oracle 的數(shù)據(jù)庫(kù)中即可 lishixinzhi/Article/program/Oracle/201311/17003
有個(gè)辦法可以試試。
漢字占兩個(gè)字符,也就是說(shuō)如果length(字段)的長(zhǎng)度不等于lengthb(字段)的長(zhǎng)度,那么就應(yīng)該是存在漢字。
當(dāng)前名稱:oracle如何查詢漢字 oracle簡(jiǎn)單查詢
路徑分享:http://aaarwkj.com/article48/doooeep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣、自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容