多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

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

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

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

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

根據實際業務需求,共有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中的實現方式,通過該方式可以快速,準確的辨認中文字符。


生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 亚洲国产欧美在线人成 | 中文字幕一区二区三区在线播放 | 精久久| 99一级毛片 | jizz日本老师jizz在线播放 | 真性中出 | 欧美日韩一二三四区 | 就去干综合 | 亚洲v天堂v手机在线观看 | 久久精品视频6 | 国产精品视频第一页 | 色人阁在线视频 | 久久看视频| www.国产.com| 成人免费淫片免费观看 | 国产偷v国产偷v国产 | 天堂黄色 | 国产精品乱码一区二区三区 | 尤物视频在线观看视频 | 国产乱码精品一区二区三区四川 | 亚洲日本中文字幕在线 | 欧美系列第一页 | 一区二区自拍 | 中文字幕日韩欧美 | 中文字幕第233页 | 国产精品免费αv视频 | 一二三四视频在线6 1免费观看 | 亚洲欧美久久婷婷爱综合一区天堂 | 亚洲成人综合网站 | 亚洲视频在线观看地址 | 亚洲 欧美 校园 | 69国产成人综合久久精 | 亚洲色图婷婷 | 亚洲高清视频一区 | 亚洲成人播放 | 激情春色网 | 亚洲人xxxx | 欧美午夜理伦三级在线观看 | 国产精品精品 | 一二三四视频社区5在线高清视频 | 久久国产精品久久国产片 |