記錄Oracle中文字元的相關處理

2021-10-10 12:58:46 字數 1050 閱讀 7996

中文字元在utf-8編碼下的範圍是

\4e00-

\9fa5,對應的中文是

一 到

龥。在oracle中處理中文字元可以用正規表示式相關的函式,比如:

1.用來判斷是否匹配到正規表示式的函式regexp_instr(返回第乙個匹配子串的位置,匹配不到返回0);

2.獲取匹配到的第乙個子串的函式regexp_substr

3.替換所有匹配到的子串的函式regexp_replace

4.計算匹配到子串個數的函式regexp_count

5.判斷是否完全匹配正規表示式的函式regexp_like(只能用在where語句中);

示例sql:

select

regexp_instr(

'testtext測試文字'

,'['

|| unistr(

'\4e00')||

'-'|| unistr(

'\9fa5')||

']') reg_idx,

regexp_substr(

'testtext測試文字'

,'['

|| unistr(

'\4e00')||

'-'|| unistr(

'\9fa5')||

']') reg_text,

regexp_replace (

'testtext測試文字'

,'['

|| unistr(

'\4e00')||

'-'|| unistr(

'\9fa5')||

']',

'a') replaced_text

from

dual

執行結果

reg_idx

reg_text

replaced_text9測

testtextaaaa

中文字元相關問題

編碼綜述 php並不是採用什麼編碼的問題,而是你要輸出的編碼問題你把php寫成u8 gb2312它都可以正常使用,區別在於,在chr裡得到的是什麼,chr雖然可以返回乙個編碼大於127的字元,但是這並不意味著php可以正常解析u8 gb2312,乙個漢字在gb2312中由兩個位元組組成,也就是fff...

中文字元相關問題

編碼綜述 php並不是採用什麼編碼的問題,而是你要輸出的編碼問題你把php寫成u8 gb2312它都可以正常使用,區別在於,在chr裡得到的是什麼,chr雖然可以返回乙個編碼大於127的字元,但是這並不意味著php可以正常解析u8 gb2312,乙個漢字在gb2312中由兩個位元組組成,也就是fff...

oracle外部表處理中文字元

在外部表的檔案中,若檔案中的字段由ctrl f來分割,由於ctrl f分隔符在中文後面無法被識別,使得外部表匯入出現問題,解決辦法是在 建立外部表的過程中加入 characterset al32utf8 例 drop table tablename create table tablename id...