字串函數在資料庫應用開發中應用廣泛.將平時常常用到的函數使用收錄如下: (沒有收錄到得,將繼續補充,各位大神們多提建議哦)
1.STR:將數字轉換為字元,用可選的參數來指定結果的總長度(包括小數點和小數點後的位元)。
eg:SELECT STR(123.45678, 6, 2) 123.45678為要被轉換的對象,6為被轉化後的字串的長度,2為小數點後的位元.
result 為'123.46' --可以看出系統自動對小數點第3位進行四捨五入
又如:SELECT STR(123.45678, 6, 1) 該例中要求保留小數點後一位元字,單仍要求返回6位長度的字串.則將在結果開頭補空格.
result 為' 123.5' --開頭有空格,使整個字串長度為6.
2.SUBSTRING 函數:返回字元、二進位字串或文本字串的一部分
文法:SUBSTRING ( expression ,start , length ) 從expreession運算式的第start個字元開始去length個
參數:
expression: 是字串、二進位字串、文本、映像、列或包含列的運算式。不要使用包含彙總函式的運算式。
start :指定子字串開始位置的整數。start 可以為 bigint 類型。
length :一個正整數,指定要返回的 expression 的字元數或位元組數。如果 length 為負,則會返回錯誤。length 可以是 bigint 類型。
eg:select SUBSTRING ('expression',3 , 4 ) result :pres
3.字串替代函數
Replace函數:用另一個字串值替換出現的所有指定字串值。
文法:REPLACE ( string_expression1 , string_expression2 , string_expression3 )
參數:
string_expression1:要搜尋的字串運算式。string_expression1 可以是字元或位元據類型。
string_expression2:要尋找的子字串。string_expression2 可以是字元或位元據類型
string_expression3:替換字串。string_expression3 可以是字元或位元據類型。
eg:SELECT REPLACE('abcdefghicde','cde','xxx'); result:abxxxfghixxx
STUFF()函數:功能同replace類似.詳見執行個體
文法:STUFF (<character_expression1>, <start_ position>, <length>,<character_expression2>)
eg:select stuff('123456789',2,3,'aaa') result:1aaa56789
4.LTRIM/RTRIM:刪除字串左右兩邊空格.Ltrim刪除左.Rtrim刪除右.
5.REVERSE:返回指定字串的反轉. eg:select reverse('sql server') result:revres lqs
6.LEFT/RIGHT:返回指定字串的左/右起指定個字元. eg:Left('sql server',4) result:'SQL '注意最後一位為空白格.
7.LEN:返回字串長度.(忽略串尾空格) eg:select len('123 ') result:3 對比:select len(' 123') result為4
8.UPPER/LOWER:大小寫轉化.upper返回全大寫,lower返回全小寫.
9.REPLICATE():文法:REPLICATE (character_expression integer_expression) 返回一個重複character_expression 指定次數的字串.若integer_expression 值為負值,則返回NULL eg:select REPLICATE('123','3') result:123123123
10.charindex函數:第一個參數你要尋找的char,第二個參數你被尋找的字串 返回參數一在參數二的位置
eg:select charindex('a','lihan') result為4