濮阳杆衣贸易有限公司

主頁 > 知識庫 > oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹

oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹

熱門標(biāo)簽:濟南地圖標(biāo)注公司 分布式呼叫中心 安陽外呼系統(tǒng)免費 圖像地圖標(biāo)注 400電話是不是免費申請 貴陽電話外呼系統(tǒng)哪家好 海南400電話哪里辦理 呼倫貝爾智能手機地圖標(biāo)注 南寧人工智能電銷機器人費用

我記得我曾經(jīng)在開發(fā)form的時候犯過這樣一個錯誤,對于form中的某個字段,對應(yīng)于數(shù)據(jù)庫中某張表的字段,假設(shè)在數(shù)據(jù)庫中這個字段一般也就用到20個漢字的長度,后來我在開發(fā)form的時候,設(shè)置item類型長度的時候,我慣性的設(shè)置成了50byte,想著就算是20個漢字,最多也就占40個byte長度嘛??墒?,就因為這一個想當(dāng)然,結(jié)果出現(xiàn)錯誤了,后來發(fā)現(xiàn)數(shù)據(jù)庫字符集編碼是utf8,那么應(yīng)該設(shè)置為60。從那以后,每次涉及到給字段設(shè)置長度的時候,我都會特別注意下,到底是啥編碼。

在oracle中,比較常見的可能是length、substr,至少我看到的大部分都是這兩個,要不是昨天看代碼發(fā)現(xiàn)了lengthb、substrb,估計我也遺忘了。length表示的是字符串的字符長度,lengthb表示的是字符串的字節(jié)長度;substr表示根據(jù)字符長度獲取子串,substrb表示根據(jù)字節(jié)長度來獲取字串。下面直接看例子來說明:

SELECT length('葉德華abc') -- length按字符計,漢字、英文、數(shù)字都是1個字符,故這里返回6 
 FROM dual; 
SELECT lengthb('葉德華abc') -- length按字節(jié)計,我這里是UTF-8編碼,漢字3個字節(jié),英文一個字節(jié),故這里返回12 
 FROM dual; 
SELECT substr('葉德華abc', -- substr按字符截取,截取到a,返回:葉德華a 
       1, 
       4) 
 FROM dual; 
SELECT substrb('葉德華abc', 
        1, 
        2) -- substrb按字節(jié)截取,2不足一個漢字長度,返回:兩個空格 
 FROM dual; 
SELECT substrb('葉德華abc', 
        1, 
        3) -- substrb按字節(jié)截取,3剛好是一個漢字長度,返回:葉 
 FROM dual; 
SELECT substrb('葉德華abc', 
        1, 
        4) -- substrb按字節(jié)截取,4多余一個漢字少于兩個漢字,返回:葉 加一個空格 
 FROM dual; 

在oracle中應(yīng)該還有其他類似的方法,這里就不總結(jié)了,大概就是這么個意思。補充一下,據(jù)說在oracle中定義字符類型的時候默認的長度是byte,比如varchar2(20)表示的是20個字節(jié)長度,如果要定義成字符,則varchar2(20 char),不過,一般我們也都用字節(jié)定義。

總結(jié)

以上就是本文關(guān)于oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以參閱:oracle求字符串長度函數(shù)length()和hengthb()簡介  、 Oracle RMAN自動備份控制文件方法介紹  、 oracle 數(shù)據(jù)庫啟動階段分析等。感謝大家對本站的支持。

  

您可能感興趣的文章:
  • oracle求字符串長度函數(shù)length()和hengthb()簡介
  • Oracle計算時間差常用函數(shù)
  • oracle 函數(shù)判斷字符串是否包含圖片格式的實例代碼
  • Oracle存儲過程和存儲函數(shù)創(chuàng)建方法(詳解)
  • MySQL與Oracle差異比較之三 函數(shù)
  • oracle中函數(shù) trunc(),round(),ceil(),floor的使用詳解
  • 淺談mysql可有類似oracle的nvl的函數(shù)

標(biāo)簽:涼山 遼源 許昌 焦作 郴州 滁州 南充 合肥

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹》,本文關(guān)鍵詞  oracle,中,length,lengthb,substr,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于oracle中l(wèi)ength、lengthb、substr、substrb函數(shù)用法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    侯马市| 临泽县| 竹溪县| 丽水市| 梓潼县| 桂阳县| 芜湖市| 开江县| 内江市| 铜陵市| 石门县| 山阴县| 东宁县| 简阳市| 湟中县| 玉龙| 湘潭县| 瓦房店市| 洱源县| 安塞县| 明溪县| 贵南县| 朔州市| 北碚区| 墨脱县| 托里县| 尤溪县| 绥江县| 卢龙县| 庆阳市| 吉水县| 射洪县| 于田县| 怀宁县| 宜兰县| 仁布县| 大埔区| 石泉县| 洮南市| 疏勒县| 镇宁|