以下的文章主要向大家講述的是DB2 字符串的有關函數與其具體用法,其中主要內容有字符轉換函數,去空格函數,取子串函數,字符串比較函數以及數據類型轉換函數等內容的描述。
一、字符轉換函數
1、ASCII()
返回字符表達式最左端字符的ASCII 碼值。在ASCII()函數中,純數字的字符串可不用‘’括起來,但含其它字符的字符串必須用‘’括起來使用,否則會出錯。
2、CHAR()
將ASCII 碼轉換為字符。如果沒有輸入0 ~ 255 之間的ASCII 碼值,CHAR() 返回NULL 。
3、LOWER()和UPPER()
LOWER()將字符串全部轉為小寫;UPPER()將字符串全部轉為大寫。
4、STR()
把數值型數據轉換為字符型數據。
STR (<float_exdivssion>[,length[, <decimal>]])
length 指定返回的字符串的長度,decimal 指定返回的小數位數。如果沒有指定長度,缺省的length 值為10, decimal 缺省值為0。
當length 或者decimal 為負值時,返回NULL;
當length 小於小數點左邊(包括符號位)的位數時,返回length 個*;
先服從length ,再取decimal ;
當返回的字符串位數小於length ,左邊補足空格。
二、去空格函數
1、LTRIM() 把字符串頭部的空格去掉。
2、RTRIM() 把字符串尾部的空格去掉。
三、取子串函數
1、left()
LEFT (<character_exdivssion>, <integer_exdivssion>)
返回character_exdivssion 左起 integer_exdivssion 個字符。
2、RIGHT()
RIGHT (<character_exdivssion>, <integer_exdivssion>)
返回character_exdivssion 右起 integer_exdivssion 個字符。
3、SUBSTRING()
SUBSTRING (<exdivssion>, <starting_ position>, length)
返回從字符串左邊第starting_ position 個字符起length個字符的部分。
四、字符串比較函數
1、CHARINDEX()
返回DB2 字符串中某個指定的子串出現的開始位置。
CHARINDEX (<’substring_exdivssion’>, <exdivssion>)
其中substring _exdivssion 是所要查找的字符表達式,exdivssion 可為字符串也可為列名表達式。如果沒有發現子串,則返回0 值。
此函數不能用於TEXT 和IMAGE 數據類型。
2、PATINDEX()
返回字符串中某個指定的子串出現的開始位置。
PATINDEX (<’%substring _exdivssion%’>, <column_ name>)其中子串表達式前後必須有百分號“%”否則返回值為0。
與CHARINDEX 函數不同的是,PATINDEX函數的子串中可以使用通配符,且此函數可用於CHAR、 VARCHAR 和TEXT 數據類型。