Oracle一些函數 lpad nvl upper replace

來源:互聯網
上載者:User

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字串的結尾處的一段子字串已經發生過替換動作。
並不是原字串從頭到尾的一個複製。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.