日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > ORACLE提取字符串中"漢字"串的解決辦法

ORACLE提取字符串中"漢字"串的解決辦法

來源:程序員人生   發布時間:2014-12-11 08:48:03 閱讀次數:4469次

我在在實際工作中常常要使用去特殊字符的功能,特別是插入到數據庫中的數據,我們為了保證數據的質量,常常需要對數據進行清洗,就是去掉特殊字符,我們處理問題的思路是:判斷字符串中的每一個字符是否是中文,如果是中文,將他們依照順序連接起來,如果不是,不要。

根據實際業務需求,共有2中解決方案:

方案1:

使用數據庫自帶函數length,lengthb。

中文下length返回的是字符個數,中文占1字符,lengthb返回的是字節個數,中文占2字節,根據中文的特性便可解決,但是實際情況常常不是特別理想,常常還存在著1些特殊字符,這些特殊字符和中文的字符數和字節數1致,這時候我們就不能準確判斷數據庫中的中文字符了,為了解決這個問題,建議方案2。

方案2:

使用ASCII碼來辨別中文和其它字符,中文的ASCII碼值的范圍是45217~63486,根據這個來實現,我們就需要使用ORACLE中的函數ASCII,用它來返回ASCII值。

這類方式可以完善辨別中文字符和其它字符。

create or replace function getCustText(custName varchar2) return varchar2 is Result varchar2(100); tmp_custName varchar2(100); count_str number; i number:=1; str_ascii number; current_char varchar2(10); begin select length(custName) into count_str from dual; while i<count_str loop current_char:=substr(custName,i,1); select ASCII(current_char) into str_ascii from dual; if str_ascii>45216 then tmp_custName:=tmp_custName||current_char; end if; i:=i+1; end loop; Result:=tmp_custName; return(Result); end getCustText;
以上是ORACLE中的實現方式,通過該方式可以快速,準確的辨認中文字符。


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品二三区 | 91久久精品国产 | 日韩成人一区 | 国产精品视频一区二区三区不卡 | 久久久国产一区二区三区四区小说 | 九九九九精品 | 中文字幕三区 | 国产一区二区三区在线视频 | 久久激情网 | 亚洲一视频 | 国产91精品一区二区 | 日韩中文在线视频 | 欧美日韩国产一区二区三区 | 99精品视频一区二区 | 国产福利在线 | 成人爽a毛片一区二区免费 中文在线视频观看 | 少妇av一区二区三区 | 国产精品美女一区二区三区 | 91直接看 | 久久99精品久久久久久久 | 九色国产| 亚洲第一福利视频 | 国产婷婷色一区二区三区 | 最新av网站在线观看 | 精品久久精品 | 免费日韩| 国产精品伦一区二区三级视频 | 欧美日韩在线免费 | 亚洲夜夜夜| 中国在线观看片 | 欧美精品久久久久久久 | 国产精品成人免费视频 | 久久99精品久久久久久琪琪 | 一区二区不卡 | 色性网站 | 欧美日韩亚洲国产 | 成人午夜免费毛片 | 在线观看视频一区 | 久久久www | 淫伦小说短篇合集 | 欧美日韩成人一区 |