1. 程式人生 > >關於Oracle 的LPAD和RPAD函式的使用方法

關於Oracle 的LPAD和RPAD函式的使用方法

        昨天在編寫一個儲存過程的時候,使用了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 '

至於這兩個函式的應用場景就視專案需求來定了。