T-SQL.字符串函數

--本文爲學習筆記,(《t_sql》作者:Robert Sheldon 譯者:馮昀暉 來源:TT中國)

---------------------------------------

函數--字符串函數--截取字符串的值

select name,left(name,12) as a, --根據指定的字符串從左往右截取,格式:left(字符串表達式,字符數)

substring(name,9,4) as b,--“SUBSTRING”函數可以提取字符串的任意部分。

--substring(字符串表達式,指定從哪裏開始截取,截取多長的字符串)

right(name,2) as c,--根據指定的字符串從右往左截取

rtrim(vv) as v -- RTRIM刪除字符串右邊的空格,LTRIM刪除字符串左邊的空格

from table_1 where id >1


函數--字符串函數--修改字符串的值

select replace(name,'Mountain','Mtn') as ReplaceName,--用來替換給定字符串值中指定的一組字符串爲新的字符串 REPLACE(字符串表達式,被替換的字符串值,替換的新字符串值)

stuff(name,11,2,'X01' )as StuffName,

--“STUFF”,它的作用是按照給定的位置刪除一組指定的字符,並插入一組新的字符。該函數有四個參數:STUFF(待操作的字符串表達式,待刪除的字符串的起始位置,要刪除字符的數量,要插入的字符串)

reverse(ProductNumber) as reverseNum,--“RESERVSE”的作用是把給定字符串按逆序排列

stuff(productnumber,1,2,replicate(0,3)) as replicatenum,--“REPLICATE(待處理的字符串值,重複次數)”,該函數可以把指定字符串值重複指定的次數

productline+space(4)+lower(productline) as lowerprodline --“SPACE”函數與“REPLICATE”函數類似,它返回一組空格。該函數有一個參數,指定返回的空格數量

--LOWER 把字符串中的大寫字符轉換爲小寫字符,UPPER 把字符串中的小寫字符轉換爲大寫字符

from table_2 where product_num=7


函數--字符串函數--轉換字符串的值

select name+char(9)+str(makeflag) as product,--函數是“CHAR”,可以把一個ASCII碼整數(從0到255)轉換爲字符,該函數只有一個參數(一個ASCII碼整數值)。該函數在給你的字符串插入控制字符時非常方便,比如tab鍵(ASCII碼爲9),換行符號(ASCII碼爲10)或者回車符(ASCII碼爲13)

--T-SQL還支持“NCHAR”函數,它可以把Unicode整數轉換爲Unicode字符

--STR(待轉換的數值型表達式),它可以把數值型數據轉換爲字符型數據,如果沒有轉換bit列就連接兩個列,會顯示一條錯誤信息。 實例裏的makeflag就是bit列

ascii(makeflag) as ciimakeflag,--轉換單個字符爲ASCII碼整數,這裏是用“ASCII”函數轉換“MakeFlag”值爲整數

retim(style)as style,--很重要的一點是,要先用“RTRIM”函數刪除字符串尾部的空格,因爲“UNICODE”函數(與ASCII函數一樣)一次只能轉換一個字符

unicode(rtrim(style)as unicodestyle --UNICODE(unicode字符表達式),該函數用來把一個字符轉換爲Unicode整數,

from production.product where productid=77


函數--字符串函數--獲取字符串的相關信息

select  len(description) as lengthdescriop,--返回指定字符串的字符數量

charindex('tecth',description) as charindexdescrip,--函數的功能是從某字符串中指定的開始位置查找某字符串所在位置,該函數有三個參數:CHARINDEX(要搜索的字符串,待搜索範圍字符串,搜索開始的位置(可選))

patindex('%bike%',descripton) as patindexdescrip,--該函數在字符串中搜索第一次出現某字符串的位置。該函數有兩個參數:PATINDEX(要匹配的字符串,在其中進行搜索的字符串)

from production.productdescription where productdescription_id=231


函數--字符串函數--對字符串執行“SOUNDEX”分析 

“SOUNDEX”是一種可以把字符值轉換成四個字符構成編碼的系統,目的是確定類似發音的單詞。“SOUNDEX”函數返回的第一個字符與目標字符串的第一個字符串相同,後面三個字符是對輔音求值得到的數值代碼。(元音被忽略,除非元音是第一個字母。) 

select @name1 as name1,@name2 as name2,--eg:name1=Allen,name2=Alan

soundex(@name1) as soundexname1,soundex(@name2) as soundexname2,--SOUNDEX(待分析的字符串)

difference(@name1,@name2) as soundexdiff --“DEFFERENCE”函數有兩個參數,這兩個參數就是待比較的字符串,返回結果是一個整數,表示兩個字符串之間差異的程度。返回的整數結果可以是0到4之間的值。值0表示兩個字符串之間幾乎沒有相似之處,而值4表示兩個字符串非常相似


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章