SQLServer系統函數之字符串函數

一.字符串函數

參數character_expression:由字符數據組成的字母數字表達式,能夠是常量或變量,也能夠是字符列或二進制數據列sql

參數integer_expression:是正整數,若是 integer_expression 爲負,則返回空字符串express

 1.SubString():截取指定的字符串jsp

--substring(character_expression,integer_experssion,integer_expression)
--character_expression: 表達式(varchar、nvarchar、char、text、ntext、varbinary、image)
--integer_experssion:開始位置(bigint)
--integer_expression 長度(bigint)不能爲負數
--返回字符表達式、二進制表達式、文本表達式或者圖像表達式的一部分(varchar、nvarchar、char、text、ntext、varbinary、image)
--簡而言之:substring(字符串,開始位置,截取長度)
select substring('Hello',1,4)  --返回Hell
select StuName,substring(StuName,1,2) as '姓名的前兩位' from Student 

2.Replace ():替換字符串 函數

--replace(character_expression,searchstring,replacementstring)
--character_expression:是函數要搜索的有效字符表達式(varchar,nvarchar)
--character_expression:是函數嘗試定位的有效字符表達式(varchar,nvarchar)
--replacementstring:是用做替換表達式的有效字符表達式(varchar,nvarchar)
--返回用第三個表達式替換第一個表達式中出現的全部第二個表達式
--簡而言之:replace(字符串,須要被替換的字符串,替換成的字符串)
select replace('MingRMRM','RM','Ri') --返回MingRiRi
select replace('1234','1','2') --返回2234 

3.Left():取左邊指定個數的字符spa

--left(character_expression,integer_expression)
--character_expression:字符串或者二進制數據表達式(varchar,nvarchar)
--integer_expression:指定character_expression將返回的字符數,不能爲負數(int)
--返回字符表達式中最左側指定數目的字符
--簡而言之:left(字符串,指定最左側返回的數目)
select left('中華有爲',2) --返回中華
select left(StuName,1) from Student --返回姓名的第一個字

4.Right():取右邊指定個數的字符code

--right(character_expression,integer_expression)
--character_expression:字符串或者二進制數據表達式(varchar,nvarchar)
--integer_expression:指定character_expression將返回的字符數,不能爲負數(int)
--返回字符表達式中最右側指定數目的字符
--簡而言之:right(字符串,指定最右側返回的數目)
select right('中華有爲',2) --返回有爲
select right(StuName,1) from Student --返回姓名的最後一個字

5.ASCII():獲取ASCII碼blog

--ASCII(character_expression)
--character_expression:char或者varchar類型的表達式(char、varchar)
--返回字符表達式中最左側的字符的ASCII代碼
--返回類型:int
--注意:ASCII碼共127個,其中八、九、十、13分別轉換爲退格、製表、換行和回車字符
select ASCII('A') --返回ASCII碼65 按鍵A
select ASCII(' ') --返回ASCII碼32 按鍵[space] 空格鍵

6.Char():轉換成字符unicode

--char(integer_expression)
--將整數ASCII代碼轉換成字符串
select char(65) --返回A 
select char(32) --返回空格

7.CharIndex():返回字符串起始位置字符串

--charindex(character_expression1,character_expression2,[,start_location])
--character_expression1:包含要查找的序列的字符串表達式
--character_expression2:要搜索的字符表達式
--start_location:開始位置,若是未指定則將expression2的開頭搜索
--返回字符串中指定表達式的起始位置
--[]裏面的內容說明能夠省略,缺省狀況下,說明用‘[]’引用
select charindex('','中華有爲')--返回4
select charindex('','中華有爲',5) --返回0  搜索字符串的位置值有4位
select charindex('','中華有爲',2)--返回4  返回的是字符串所在搜索字符串的位置

8.PatIndex()返回表達式模式的字符串的起始位置string

--patindex(character_expression1,characterexpression2)
--character_expression1:搜索模式文字
--character_expression2:要搜索的表達式
-- 精確匹配,徹底匹配1,不徹底匹配0
--模糊匹配,返回從第幾位開始匹配
--返回指定表達式模式的第一次出現的開始位置
select patindex('%a%','123456a') --返回6 模糊匹配
select patindex('a','123456a') --返回0 精確匹配

9.Len():返回字符個數

--len(character_expression)
--character_expression:表示要處理的表達式(varchar、nvarchar)
--返回字符表達式中的字符數(int)
select len('abcd')--返回4
select len(12345)--返回5

10.Stuff():在一個字符串中,刪除指定長度的字符,並在該位置插入一個新的字符串

--stuff(character_expression,bigint_expression1,bigint_expression2,character_expression1)
--character_expression:要搜索的表達式(varchar、nvarchar、varbinary)
--integer_expression1:開始位置
--integer_expression2:字符數
--character_expression1:替換的表達式
select stuff('abcdefg',3,2,'aa') --返回abaaefg

11.Difference():SOUNDEX值之差

--difference ( character_expression , character_expression )
--character_expression:類型 char 或 varchar 的表達式
--以整數返回兩個字符表達式的SOUNDEX值之差,返回的值從 0 到 4 不等,4 表示 SOUNDEX 值相同
--返回類型:int
SELECT  DIFFERENCE('Test', 'Test') --4

12.Soundex():由四個字符表示的soundex代碼

--soundex(character_expression)
--返回由四個字符表示的soundex代碼
select soundex('abcd') --返回A120

13.Lower():大寫字母轉小寫字母

--lower(character_expression)
--character_expression:字符串或者二進制數據表達式(varchar、nvarchar)
--返回將大寫字符轉換爲小寫字符的字符表達式
select lower('ABCD') --返回abcd
select lower('張San') --返回張san

14.Upper():小寫字母轉大寫字母

--upper(character_expression)
--character_expression:字符串或者二進制數據表達式(varchar、nvarchar)
--返回將小寫字符轉換爲大寫字符的字符表達式
select  upper('abcd') --返回ABCD
select  upper('張San') --返回張SAN

15.Ltrim():清除左邊字符的空格

--ltrim(character_expression)
--character_expression(varchar、nvarchar)
--返回刪除了前導空格以後的字符表達式
select ltrim('   Test Test ') --返回Test Test

16.Rtrim():清除右邊字符的空格

--rtrim(character_expression)
--character_expression(varchar、nvarchar)
--返回截斷了全部尾隨空格以後的字符表達式
select rtrim('   TestTest  ') --返回  TestTest

17.Nchar():給定的整數代碼的Unicode字符

--nchar(integer_expression)
--integer_expression(int)
--返回具備給定的整數代碼的Unicode字符
--Unicode:統一碼、萬國碼、單一碼
select nchar(100) --返回d

18.Quotename():返回帶有分隔符的 Unicode 字符串,主要做用就是在SQL語句中,給列名、表名等加個[]、’’

--quotename(character_expression,[,character_expression1])
--character_expression,unicode字符數據構成的字符串,character_expression是sysname值
--character_expression1:引號字符,若是未指定則使用方括號做爲分隔符([ ])
--quotename()的主要做用就是在存儲過程當中,給列名、表名等加個[]、’’等以保證sql語句能正常執行
select quotename('stuname','''') --返回'stuname'
select quotename('student')--返回[student]

19.Replicate():按指定次數重複字符表達式

--replicate(character_expression ,integer_expression)
--character_expression:須要複製的表達式
--integer_expression:複製次數
select replicate('abcd',3) --返回abcdabcdabcd

20.Reverse():返回字符表達式的逆向表達式

--reverse(character_expression)
--返回字符表達式的逆向表達式
select reverse('abcd') --返回dcba

21.Space():返回由重複空格組成的字符串

--space(integer_expression)
--返回由重複空格組成的字符串
--返回類型:char
select space(2)--返回2個空格

22.Str():將數值表達式轉換字符表達式

--str(float_expression[,length[,demical_expression]])
--length:是總長度,包括小數點、符號、數字或空格。默認值爲 10
--demical_expression:小數點右邊的位數
--返回從數值表達式轉換而來的字符表達式
--返回類型:char
select str(23.35,8,3) --返回   23.350
select len(str(23.35,8,3)) --返回8

23.UniCode():表達式第一個字符Unicode的整數值

--unicode(character_expression)
--character_expression:須要轉換的表達式
--返回表達式第一個字符Unicode的整數值
select unicode('abcd') --返回97

 24.String_Split():分隔字符串,返回表,列名爲value

--string_split(character_expresstion1,character_expresstion2)
--character_expresstion1:須要分隔的字符串
--character_expresstion2:分隔符
--返回子字符串的單列的表(table) 該列名爲「value」 
select value from string_split('jsp-asp','-') 
相關文章
相關標籤/搜索