91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle中如何判斷一個字符串是否含有漢字

發布時間:2020-06-08 06:00:49 來源:網絡 閱讀:888 作者:小麥苗best 欄目:關系型數據庫

oracle中如何判斷一個字符串是否含有漢字

一.1 BLOG文檔結構圖

oracle中如何判斷一個字符串是否含有漢字

一.2 前言部分
一.2.1 導讀

各位技術愛好者,看完本文后,你可以掌握如下的技能,也可以學到一些其它你所不知道的知識,~O(∩_∩)O~:

①全角字符的判斷,或者是含有漢字的字符串的判斷

本文如有錯誤或不完善的地方請大家多多指正,ITPUB留言或QQ皆可,您的批評指正是我寫作的最大動力。

一.2.2 實驗環境介紹

11.2.0.3  RHEL6.5

一.2.3 本文簡介

看到網友問,怎么查詢表中某個字段數據是不是包含了全角字符啊? 這個問題涉及到幾個個函數:to_single_byte、length和lengthb,我之前做開發的時候研究的是如何判斷一個字符串中是否包含中文,其實和這個本質是一樣的,且看實驗部分。

oracle中如何判斷一個字符串是否含有漢字

一.3 實驗部分
一.3.1 lengthb和length函數結合to_single_byte函數

---含有漢字,嚴格的說是含有全角字符

SELECT l.name,

length(l.name),

lengthb(l.name)

FROM   xb_link l

WHERE length(l.name) != lengthb(l.name)

AND length(l.name) < 20;

oracle中如何判斷一個字符串是否含有漢字

以下數據也滿足條件:

SELECT l.id,

        l.name

FROM   xb_link l

WHERE length(l.name) != lengthb(l.name)

AND    l.metacategory IN

('com.gxlu.ngrm.network.DDNCircuit',

'com.gxlu.ngrm.network.FRCircuit',

'com.gxlu.ngrm.network.ATMCircuit',

'com.gxlu.ngrm.network.DDNOCircuit',

'com.gxlu.ngrm.network.FROCircuit')

AND    l.id IN ('301898331', '301898335', '301908187', '301929403');

oracle中如何判斷一個字符串是否含有漢字

所以可以借助to_single_byte函數來解決。

SELECT l.id,

        l.name,

        to_single_byte(l.name),

length(l.name) l1,

lengthb(l.name) l2,

length(to_single_byte(l.name)) l

FROM   xb_link l

WHERE length(l.name) != lengthb(l.name)

AND    l.metacategory IN

('com.gxlu.ngrm.network.DDNCircuit',

'com.gxlu.ngrm.network.FRCircuit',

'com.gxlu.ngrm.network.ATMCircuit',

'com.gxlu.ngrm.network.DDNOCircuit',

'com.gxlu.ngrm.network.FROCircuit')

AND    l.id IN ('301898331', '301898335', '301908187', '301929403');

oracle中如何判斷一個字符串是否含有漢字

一.3.2 regexp_replace --替換其它字符為’’

SELECT

l.id,

l.name

FROM   xb_link l

WHERE  regexp_replace(TRIM(l.name),

'([A-Za-z0-9]|[[:punct:]]|[[:space:]])',

'') IS NOT NULL;

oracle中如何判斷一個字符串是否含有漢字

一.3.3 to_multi_byte 函數--全是全角字符

---全是漢字

SELECT l.name,

       to_multi_byte(l.name)

FROM   xb_link l

WHERE  l.name = to_multi_byte(l.name);

oracle中如何判斷一個字符串是否含有漢字

SELECT l.name,

       to_multi_byte(l.name)

FROM   xb_link l;

oracle中如何判斷一個字符串是否含有漢字

一.3.4 網友問題解答:某個字段數據是不是包含了全角字符?

drop table aa;

create table aa (col   varchar2(255));

SELECT * FROM aa for update;

oracle中如何判斷一個字符串是否含有漢字

SELECT a.col,

       to_single_byte(a.col),

length(a.col),

lengthb(a.col),

length(to_single_byte(a.col)),

lengthb(to_single_byte(a.col))

FROM   aa a

WHERE (lengthb(a.col) - length(a.col)) <>

(lengthb(to_single_byte(a.col)) - length(to_single_byte(a.col)));

oracle中如何判斷一個字符串是否含有漢字

一.4 總結

方法很簡單,網友可能還有其他的辦法,歡迎留言,對于不同的場景處理方式有很多種,我們應該學會靈活變通。

一.5 About Me

...........................................................................................................................................................................................

本文作者:小麥苗,只專注于數據庫的技術,更注重技術的運用

ITPUB BLOG:http://blog.itpub.net/26736162

本文地址:http://blog.itpub.net/26736162/viewspace-1688209/

本文pdf版:http://yunpan.cn/QCwUAI9bn7g7w 提取碼:af2d

QQ:642808185 若加QQ請注明你所正在讀的文章標題

創作時間地點:2015-06-05 10:00~ 2015-06-05 13:00 于×××交易中心

<版權所有,文章允許轉載,但須以鏈接方式注明源地址,否則追究法律責任!>

...........................................................................................................................................................................................

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

无为县| 平顺县| 吉安市| 仁化县| 蕲春县| 栖霞市| 凌源市| 肃北| 扬州市| 晋中市| 海口市| 东乌珠穆沁旗| 汤阴县| 文水县| 邓州市| 叙永县| 西畴县| 南涧| 邯郸市| 阿荣旗| 如东县| 嘉荫县| 会昌县| 奉贤区| 于都县| 磐石市| 吉木萨尔县| 安阳市| 扬州市| 刚察县| 韶关市| 泊头市| 盐亭县| 南康市| 清镇市| 肇东市| 天水市| 习水县| 双辽市| 隆安县| 六枝特区|