a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

oracle中length、lengthb、substr、substrb函數用法介紹

2024-08-29 14:00:38
字體:
來源:轉載
供稿:網友

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

在oracle/197773.html">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),不過,一般我們也都用字節定義。

總結

以上就是本文關于oracle中length、lengthb、substr、substrb函數用法介紹的全部內容,希望對大家有所幫助。感謝大家對本站的支持。


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品视频 | 污视频网站在线免费 | 91偷拍精品一区二区三区 | 日韩成人一级片 | jizz欧美大片 | 成人久久久久久久 | 日韩一区二区三免费高清在线观看 | 成年免费视频黄网站在线观看 | 成年免费观看视频 | 国产一区二区三区久久久 | 在线不卡视频 | 日韩国产欧美一区二区 | 成人亚洲一区 | 黄色网址在线免费观看 | 欧美成人手机在线视频 | 日韩一区二区福利 | 在线精品亚洲 | 日韩毛片免费视频一级特黄 | 成人国产精品入麻豆 | 欧美精品在线免费观看 | 久久综合一区二区三区 | 精品少妇一区二区三区日产乱码 | 爱爱视频在线 | 精品一区二区三区在线观看 | 国产精品久久久久久久久 | 在线播放国产一区二区三区 | 成人国产 | 色吧av| 国产激情在线观看视频 | 国产1页| 自拍偷拍视频网站 | 美女久久久久 | 欧美视频h | 涩久久| 免费的黄色影片 | 国产日韩一区二区三区 | 久久免费精品视频 | 欧美激情欧美激情在线五月 | 亚洲欧美高清 | 成人在线不卡 | 在线播放黄色片网站 |