Oracle 判斷字串是否含有漢字

2021-07-23 16:01:09 字數 1112 閱讀 3092

我們知道在資料庫中,漢字占用兩個位元組,而其他字元占用乙個位元組,這樣通過兩個函式的比較就可以判斷出是否有中文,

length計算字元長度,lengthb計算位元組長度;

select lengthb('a愛中國'),length('a愛中國') from dual;

第乙個返回7,第二個返回4,這樣就可以判斷有中文了。

另外一種方法採用ascii的方法

oracle--判斷字段是不是中文

在網上找了一種實現方法,試了一下是ok的, 以下語句可以查出包含中文字元的a欄位記錄

oracle_sql**

select * from a where asciistr(a) like '%\%'

and instr(a, '\'

) <= 0; 

select * from a where asciistr(a) like '%\%' and instr(a, '\') <= 0;

字元函式 asciistr 功能:返回字元對應的ascii碼,對於非ascii碼轉化為unicode並前置符號'\'

instr方法的格式為

instr(源字串, 目標字串, 起始位置, 匹配序號)

例如:instr('corporate floor','or', 3, 2)中,源字串為'corporate floor', 目標字串為'or',起始位置為3,取第2個匹配項的位置。

select asciistr(prod_name),prod_name,

--instr(asciistr(prod_name),'\', 1, 1),

substr(asciistr(prod_name),1,instr(asciistr(prod_name),'\', 1, 1)-1),

substr(prod_name,length(substr(asciistr(prod_name),1,instr(asciistr(prod_name),'\', 1, 1)-1))+1)

from c2m_sale_stock_mobreport_day where asciistr(prod_name) like '%\%' and instr(prod_name, '\') <= 0 ;

判斷字串是否為空,是否含有表情

viewcontroller.m testdemo created by 趙詣 on 16 1 27.import viewcontroller.h inte ce viewcontroller end implementation viewcontroller void viewdidload 判...

VBA判斷字串中是否含有漢字

假設字串儲存在strchk變數中,那麼只需要判斷 len strchk 與 lenb strconv strchk,vbfromunicode 是否相等,即可知道該變數中是否存在漢字。理由如下 vba中預設英文本串都是unicode,雙位元組,如果轉化為vbfromunicode,英文本元 就變成單...

java判斷字串中是否含有中文

這感覺其實是乙個不太正規的方法,只是我在寫爬取網頁的東西的時候突然想到這可以用來判斷是否包含中文,就是利用編碼轉碼的方法 url中 中不能直接包含中文,中文需要先經過編碼轉換成一串字元 例如 你好 e4 bd a0 e5 a5 bd 而英文經過編碼後是不會改變的 hello hello 所以 pub...