您好,登錄后才能下訂單哦!
length、lengthb與substr怎么在oracle中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在oracle中,比較常見的可能是length、substr,至少我看到的大部分都是這兩個,要不是昨天看代碼發現了lengthb、substrb,估計我也遺忘了。length表示的是字符串的字符長度,lengthb表示的是字符串的字節長度;substr表示根據字符長度獲取子串,substrb表示根據字節長度來獲取字串。下面直接看例子來說明:
SELECT length('葉德華abc') -- length按字符計,漢字、英文、數字都是1個字符,故這里返回6 FROM dual; SELECT lengthb('葉德華abc') -- length按字節計,我這里是UTF-8編碼,漢字3個字節,英文一個字節,故這里返回12 FROM dual; SELECT substr('葉德華abc', -- substr按字符截取,截取到a,返回:葉德華a 1, 4) FROM dual; SELECT substrb('葉德華abc', 1, 2) -- substrb按字節截取,2不足一個漢字長度,返回:兩個空格 FROM dual; SELECT substrb('葉德華abc', 1, 3) -- substrb按字節截取,3剛好是一個漢字長度,返回:葉 FROM dual; SELECT substrb('葉德華abc', 1, 4) -- substrb按字節截取,4多余一個漢字少于兩個漢字,返回:葉 加一個空格 FROM dual;
在oracle中應該還有其他類似的方法,這里就不總結了,大概就是這么個意思。補充一下,據說在oracle中定義字符類型的時候默認的長度是byte,比如varchar2(20)表示的是20個字節長度,如果要定義成字符,則varchar2(20 char),不過,一般我們也都用字節定義。
看完上述內容,你們掌握length、lengthb與substr怎么在oracle中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。