關於Oracle 的LPAD和RPAD函式的使用方法
阿新 • • 發佈:2019-02-11
昨天在編寫一個儲存過程的時候,使用了LPAD和RPAD這2個函式,將其用法總結如下:
首先,先來介紹下LPAD這一函式,LPAD函式是從左邊對字串使用指定的字元進行填充,從字面意思也可以理解,L是left(左邊)的簡寫,PAD是padded(填充)的簡寫,所以LPAD就是從左邊填充的意思。
具體的語法格式如下:
lpad( string, padded_length, [ pad_string ] )
string
表示:被填充的字串。
padded_length
表示:
填充之後的字串長度,也就是該函式返回的字串長度,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成從左到右的n個字元。
pad_string
表示:是個可選引數,用來填充字串,這個字串是要貼上到string的左邊,如果這個引數未寫,lpad函式將會在string的左邊貼上空格。
下面是一些示例SQL:
--返回值長度大於源字串長度,將進行填充
select LPAD('123', 4, '0') from dual;
結果為:0123
--返回值長度小於源字串長度,將進行截斷
select LPAD('123', 2) from dual;
結果為:12
--返回值長度大於源字串長度,沒填寫對應的填充字串,將進行填充空格
select LPAD('123', 5) from dual;
結果為:' 123'
與LPAD函式對應的是RPAD函式:
RPAD函式從右邊對字串使用指定的字元進行填充,語法格式與LPAD格式相同:
rpad(string,padded_length,[pad_string])
string
表示:被填充的字串。
padded_length
表示:
填充之後的字串長度,也就是該函式返回的字串長度,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成從左到右的n個字元。
pad_string
表示:是個可選引數,用來填充字串,這個字串是要貼上到string的右邊,如果這個引數未寫,lpad函式將會在string的右邊貼上空格。
下面是一些示例SQL:
--返回值長度大於源字串長度,將進行填充 select RPAD('123', 5, '0') from dual; 結果為:12300 --返回值長度小於源字串長度,將進行截斷 select RPAD('123', 2, '0') from dual; 結果為:12 --返回值長度大於源字串長度,沒填寫對應的填充字串,將進行填充空格 select RPAD('123', 5) from dual; 結果為:'123 '
至於這兩個函式的應用場景就視專案需求來定了。