Oracl 常用字串函式

2021-06-14 09:16:49 字數 4585 閱讀 2664

字元型變數儲存的最大值:

varchar2數值被限制為2000字元(oracle 8中為4000字元)

char數值被限制為255字元(在oracle8中是2000)

long型別為2gb

clob型別為4gb

1、chr

語法: chr(x)

功能:返回在資料庫字符集中與x擁有等價數值的字元。chr和ascii是一對反函式。經過chr轉換後的字元再經過ascii轉換又得到了原來的字

符。 使用位置:過程性語句和sql語句。

2、concat

語法: concat(string1,string2)

功能:返回string1,並且在後面連線string2。

使用位置:過程性語句和sql語句。

3、initcap

語法:initcap(string)

功能:返回字串的每個單詞的第乙個字母大寫而單詞中的其他字母小寫的string。單詞是用.空格或給字母數字字元進行分隔。不是字母的

字元不變動。

使用位置:過程性語句和sql語句。

4、ltrim

語法:ltrim(string1,string2)

功能:返回刪除從左邊算起出現在string2中的字元的string1。string2被預設設定為單個的空格。資料庫將掃瞄string1,從最左邊開始。當

遇到不在string2中的第乙個字元,結果就被返回了。ltrim的行為方式與rtrim很相似。

使用位置:過程性語句和sql語句。

5、nls_initcap

語法:nls_initcap(string[,nlsparams])

功能:返回字串每個單詞第乙個字母大寫而單詞中的其他字母小寫的string,nlsparams

指定了不同於該會話預設值的不同排序序列。如果不指定引數,則功能和initcap相同。nlsparams可以使用的形式是:

『nls_sort=sort』

這裡sort制訂了乙個語言排序序列。

使用位置:過程性語句和sql語句。

6、nls_lower

語法:nls_lower(string[,nlsparams])

功能:返回字串中的所有字母都是小寫形式的string。不是字母的字元不變。

nlsparams引數的形式與用途和nls_initcap中的nlsparams引數是相同的。如果nlsparams沒有被包含,那麼nls_lower所作的處理和

lower相同。

使用位置;過程性語句和sql語句。

7、nls_upper

語法:nls_upper(string[,nlsparams])

功能:返回字串中的所有字母都是大寫的形式的string。不是字母的字元不變。nlsparams引數的形式與用途和nls_initcap中的相同。如果

沒有設定引數,則nls_upper功能和upper相同。

使用位置:過程性語句和sql語句。

8、replace

語法:replace(string,search_str[,replace_str])

功能:把string中的所有的子字串search_str用可選的replace_str替換,如果沒有指定replace_str,所有的string中的子字串

search_str都將被刪除。replace是translate所提供的功能的乙個子集。

使用位置:過程性語句和sql語句。

9、rpad

語法:rpad(string1,x[,string2])

功能:返回在x字元長度的位置上插入乙個string2中的字元的string1。如果string2的長度要比x字元少,就按照需要進行複製。如果string2

多於x字元,則僅string1前面的x各字元被使用。如果沒有指定string2,那麼使用空格進行填充。x是使用顯示長度可以比字串的實際長度

要長。rpad的行為方式與lpad很相似,除了它是在右邊而不是在左邊進行填充。

使用位置:過程性語句和sql語句。

10、rtrim

語法: rtrim(string1,[,string2])

功能: 返回刪除從右邊算起出現在string1中出現的字元string2. string2被預設設定為單個的空格.資料庫將掃瞄string1,從右邊開始.當遇

到不在string2中的第乙個字元,結果就被返回了rtrim的行為方式與ltrim很相似.

使用位置:過程性語句和sql語句。

11、soundex

語法: soundex(string)

功能: 返回string的聲音表示形式.這對於比較兩個拼寫不同但是發音類似的單詞而言很有幫助.

使用位置:過程性語句和sql語句。

12、substr

語法: substr(string,a[,b])

功能: 返回從字母為值a開始b個字元長的string的乙個子字串.如果a是0,那麼它就被認為從第乙個字元開始.如果是正數,返回字元是從左

邊向右邊進行計算的.如果b是負數,那麼返回的字元是從string的末尾開始從右向左進行計算的.如果b不存在,那麼它將預設的設定為整個字元

串.如果b小於1,那麼將返回null.如果a或b使用了浮點數,那麼該數值將在處理進行以前首先被卻為乙個整數.

使用位置:過程性語句和sql語句。

13、translate

語法: translate(string,from_str,to_str)

功能: 返回將所出現的from_str中的每個字元替換為to_str中的相應字元以後的string. translate是replace所提供的功能的乙個超集.

如果from_str比to_str長,那麼在from_str中而不在to_str中而外的字元將從string中被刪除,因為它們沒有相應的替換字元. to_str不能為空

.oracle把空字串認為是null,並且如果translate中的任何引數為null,那麼結果也是null.

使用位置:過程性語句和sql語句。

14、upper

語法: upper(string)

功能: 返回大寫的string.不是字母的字元不變.如果string是char資料型別的,那麼結果也是char型別的.如果string是varchar2型別的,那麼

結果也是varchar2型別的.

使用位置: 過程性語句和sql語句。

字元函式——返回數字

這些函式接受字元引數回數字結果.引數可以是char或者是varchar2型別的.儘管實際下許多結果都是整數值,但是返回結果都是簡單的number

型別的,沒有定義任何的精度或刻度範圍.

16、ascii

語法: ascii(string)

功能: 資料庫字符集返回string的第乙個位元組的十進位制表示.請注意該函式仍然稱作為ascii.儘管許多字符集不是7位ascii.chr和ascii是互為

相反的函式.chr得到給定字元編碼的響應字元. ascii得到給定字元的字元編碼.

使用位置: 過程性語句和sql語句。

17、instr

語法: instr(string1, string2[a,b])

功能: 得到在string1中包含string2的位置. string1時從左邊開始檢查的,開始的位置為a,如果a是乙個負數,那麼string1是從右邊開始進行

掃瞄的.第b次出現的位置將被返回. a和b都預設設定為1,這將會返回在string1中第一次出現string2的位置.如果string2在a和b的規定下沒有

找到,那麼返回0.位置的計算是相對於string1的開始位置的,不管a和b的取值是多少.

使用位置: 過程性語句和sql語句。

18、instrb

語法: instrb(string1, string2[a,[b]])

功能: 和instr相同,只是操作的對引數字元使用的位置的是位元組.

使用位置: 過程性語句和sql語句。

19、length

語法: length(string)

功能: 返回string的位元組單位的長度.char數值是填充空格型別的,如果string由資料型別char,它的結尾的空格都被計算到字串長度中間.

如果string是null,返回結果是null,而不是0.

使用位置: 過程性語句和sql語句。

20、lengthb

語法: lengthb(string)

功能: 返回以位元組為單位的string的長度.對於單位元組字符集lengthb和length是一樣的.

使用位置: 過程性語句和sql語句。

21、nlssort

語法: nlssort(string[,nlsparams])

功能: 得到用於排序string的字串位元組.所有的數值都被轉換為位元組字串,這樣在不同資料庫之間就保持了一致性. nlsparams的作用和

nls_initcap中的相同.如果忽略引數,會話使用預設排序.

使用位置: 過程性語句和sql語句。

select substr(t.cm_node,0,instr(t.cm_node,'/',-1)) from cm_node t;

常用字串函式

memset 原型 extern void memset void buffer,int c,int count 用法 include 功能 把buffer所指記憶體區域的前count個位元組設定成字元c。說明 返回指向buffer的指標。舉例 memset.c include include ma...

常用字串函式

獲取檔案目錄 dirname c test web home.php 將字串填充到指定長度 str pad str,10,str pad both 重複指定字串 str repeat 4 按照指定長度將字串分割到陣列中 str split str,4 字串反轉 strrev str 大小寫轉換 st...

常用字串函式

strlen string 得到字串長度 strpos string,search offset 在指定字串中查詢目標字串第一次出現的位置 stripos string,search offset 忽略大小寫的去查詢 strrpos string,search offset 在指定字串中查詢目標字串...