我們在編寫sql時經常需要對字符串進行操作,下面就為大師介紹字符串操作常用的sql語句。
從一張表導數據到另一張時經常會碰到字符串超長的環境,這時要查抄所有超長的數據。
這時會用到兩個函數:
lengthb(string)函數計較字符串占幾多字節。
length(string)函數計較字符串占幾多字符。
需要注重的是每個中文字符是占3個字節的:
varchar2在字段類型可以界說最年夜長度為4000。
但在plsql界說變量時長度可最年夜界說為32767。
但將它做為返回值時可能會報錯: ORA-06502: PL/SQL: numeric or value error: character string buffer too small(數字或值錯誤 : 字符串緩沖區太小)
當字符串為空時可以將字符串替代為某個值。
這時會用到函數nvl(string,default value) 。
當字符串中含有空格時可以利用trim(string) 去失落字符串首從頭至尾的空格,字符串中心含有的空格會保留。
若是只需要刪除左邊的空格可以利用ltrim(string) ,若是只需要刪除右邊的空格可以利用rtrim(string) 。
我們常利用trim函數來刪除字符串中的空格,但其實這個函數還有更多壯大的功能。利用trim([leading | trailing | both] '字符1' from '字符串2')可以將字符串2中左邊| 右邊| 雙方的字符1刪除。
當需要將字符串中的某些字符用其它字符替代時,我們可以利用REPLACE(string,'字符1','字符2')函數,把字符串中的字符1用字符2替代。
我們經常還需要截取字符串,利用substr(string,起頭位置 ,截取字符長度)函數,把字符串從起頭位置起頭,截取指心猿意馬字符長度的字符串。
這個函數起頭位置的設置初學者也輕易犯錯。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!