計算字串中包含中文 英文本元長度

2021-08-30 17:15:20 字數 711 閱讀 2312

下面這個方法僅用在字符集為固定長度的資料庫中:

sql> with str as (select 'abcde

中文字串 fg' s from dual)

2 select

3 length(s) * 2 - lengthb(s) eng,

4 lengthb(s) - length(s) chn,

5 lengthb(s) * 2 - length(s) * 2 chn_b

6 from str;

eng chn chn_b

---------- ---------- ----------

7 5 10

使用類似的方法可以解決一些其他的問題,比如求字串中數值的長度:

sql> with str as (select 'ab12349j;al20ab' s from dual)

2 select

3 length(s) - length(replace(translate(s, '0123456789', '9999999999'), '9')) num,

4 length(replace(translate(s, '0123456789', '9999999999'), '9')) not_num

5 from str;

num not_num

---------- ----------

7 8

php中文字元字串反轉字串

header content type text html charset utf 8 s 這是我的技術部落格,歡迎多多來訪!function str rev str 用mb strlen函獲取算utf8字串的長度 length mb strlen str,utf 8 宣告乙個陣列備用 arr ar...

C 判斷中文字元(字串)

it168技術文件 在unicode 字串中,中文的範圍是在4e00.9fff cjk unified ideographs。通過對字元的unicode編碼進行判斷來確定字元是否為中文。protected bool ischineseletter string input,intindex else...

C 判斷中文字元(字串)

方法一 原文 在unicode 字串中,中文的範圍是在4e00.9fff cjk unified ideographs。通過對字元的unicode編碼進行判斷來確定字元是否為中文。protected bool ischineseletter string input,int index else r...