儲存過程對字串的處理

2021-06-18 05:17:10 字數 4907 閱讀 4210

個人歸納總結,儲存過程對字串的處理。儲存以後使用。

字元函式——返回字元值

這些函式全都接收的是字元族型別的引數(chr 除外)並且返回字元值.

除了特別說明的之外,這些函式大部分返回varchar2 型別的數值.

字元函式的返回型別所受的限制和基本資料庫型別所受的限制是相同的。

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

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 相同。n

lsparams 可以使用的形式是:

『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。不是字母的字元不變。nlspara

ms 引數的形式與用途和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,那麼結果也是n

ull.

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

14、upper

語法: upper(string)

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

也是char 型別的.如果string 是varchar2 型別的,那麼

結果也是varchar2 型別的.

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

字元函式——返回數字

這些函式接受字元引數回數字結果.引數可以是char 或者是varchar2 型別的.儘管實際下許

多結果都是整數值,但是返回結果都是簡單的number

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

16、ascii

語法: ascii(string)

功能: 資料庫字符集返回string 的第乙個位元組的十進位制表示.請注意該函式仍然稱作為asc

ii.儘管許多字符集不是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 語句。

python對字串的處理

去空格及特殊符號 s.strip lstrip rstrip 複製字串 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2 連線字串 strcat sstr1,sstr2 sstr1 strcat sstr1 s...

perl對字串的處理

perl對字串的處理 當我們對字串其中的某部分做截出,替換,刪除 不包括搜尋 我們可以想到的用substr,unpack,regex這些方法來做。如果搜尋,那麼讓我們想到的是index,rindex.1 截出 substr str i m boy,and you?substr str,4,3 boy...

對字串處理的思想

題目 將乙個字元中所有出現的數字前後加上符號 其他字元保持不變 示例1jkdi234klowe90a3 jkdi 234 klowe 90 a 3 include include 主要是對特殊情況的處理,比如 1.第乙個或最後乙個為數字的情況 2.只有乙個數字,周邊都是字母的情況 而採用標記的方式,...