lpad
在Oracle/PLSQL中,lpad函數將左邊的字串填充一些特定的字元,
其文法格式如下:
lpad( string1, padded_length, [ pad_string ] )
其中string1是需要粘貼字元的字串
padded_length是返回的字串的數量,如果這個數量比原字串的長度要短,lpad函數將會把字串截取成padded_length;
pad_string是個選擇性參數,這個字串是要粘貼到string1的左邊,如果這個參數未寫,lpad函數將會在string1的左邊粘貼空格。
例如:
lpad('tech', 7); 將返回' tech'
lpad('tech', 2); 將返回'te'
lpad('tech', 8, '0'); 將返回'0000tech'
lpad('tech on the net', 15, 'z'); 將返回 'tech on the net'
lpad('tech on the net', 16, 'z'); 將返回 'ztech on the net'
nvl
通過查詢獲得某個欄位的合計值,如果這個值為null將給出一個預設的預設值
例如:
select nvl(sum(t.dwxhl),1)
from tb_jhde t
就表示如果sum(t.dwxhl) = NULL 就返回 1
另一個有關的有用方法
declare i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1這樣就可以把獲得的合計值儲存到變數i中,如果查詢的值為null就把它的值設定為預設的1
通過查詢獲得某個欄位的合計值,如果這個值位null將給出一個預設的預設值
select nvl(sum(t.dwxhl),1) from tb_jhde t where zydm=-1
這裡關心的nvl的用法,nvl(arg,value)代表如果前面的arg的值為null那麼返回的值為後面的value
另一個有關的有用方法
declare
i integer
select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1
這樣就可以把獲得的合計值儲存到變數i中,如果查詢的值為null就把它的值設定為預設的1
Upper()
功能將字串中的小寫字母轉換為大寫字母。
文法Upper( string )
參數string:要將其中的小寫字母轉換為大寫字母的字串傳回值String。函數執行成功時返回將小寫字母轉換為大寫字母後的字串,發生錯誤時返回Null 字元串("")。如果string參數的值為NULL,Upper()函數返回NULL。
eg:select upper('AaCdD') from dual;
UPPER('AACDD')
Replace函數
描述
返回一個字串,該字串中指定的子字串已被替換成另一子字串,並且替換髮生的次數也是指定的。
文法
Replace(expression, find, replacewith[, start[, count[, compare]]])
Replace函數文法有如下幾部分:
部分 描述
expression 必需的。字串運算式,包含要替換的子字串。
find 必需的。要搜尋到的子字串。
replacewith 必需的。用來替換的子字串。
start 可選的。在運算式中子字串搜尋的開始位置。如果忽略,假定從1開始。
count 可選的。子字串進行替換的次數。如果忽略,預設值是 -1,它表明進行所有可能的替換。
compare 可選的。數字值,表示判別子字串時所用的比較方式。關於其值,請參閱“設定值”部分。
設定值
compare參數的設定值如下:
常數 值 描述
vbUseCompareOption -1 使用Option Compare語句的設定值來執行比較。
vbBinaryCompare 0 執行二進位比較。
vbTextCompare 1 執行文字比較。
vbDatabaseCompare 2 僅用於Microsoft Access。基於您的資料庫的資訊執行比較。
傳回值
Replace的傳回值如下:
如果 Replace傳回值
expression長度為零 零長度字串("")。
expression為Null 一個錯誤。
find長度為零 expression的複本。
replacewith長度為零 expression的複本,其中刪除了所有出現的find 的字串。
start > Len(expression) 長度為零的字串。
count is 0 expression.的複本。
說明
Replace函數的傳回值是一個字串,但是,其中從start所指定的位置開始,到expression字串的結尾處的一段子字串已經發生過替換動作。
並不是原字串從頭到尾的一個複製。