SqlServer——字串處理函式

[0]發表於2014-09-26

1) ASCII

Format:ASCII ( character_expression )

Function:返回表示式最左端字元的ASCII值。

eg:

select ASCII('abcdef')
go

Result:

2) CHAR:

Format:CHAR ( integer_expression ),integer_expression是介於0~266之間的整數

Function:將ASCII碼轉換為字元。

eg:

select CHAR(97)
go

Result:

3) LEFT

Format:LEFT ( character_expression , integer_expression )

Function:返回從字串左邊開始指定個數的字元。返回值型別為varchar

eg1:

返回Cname最左邊的 1 個字元。

use XSCJ
select LEFT(Cname,1)
 from KC
 order by Cname
go

Result:

eg2:

select LEFT('abcdef',3)
go

Result:

4) LTRIM

Format:LTRIM ( character_expression )

Function:刪除character_expression字串中的前導空格——字串前面的空格,並返回字串, character_expression為字元型表示式,返回值型別為varchar。

eg1:

使用 LTRIM 字元刪除字元變數中的起始空格。

select LTRIM('     程式碼改變世界')
go

Result:

eg2:

DECLARE @string varchar(40)

SET @string = '     中國,一個古老而偉大的國家'

SELECT  LTRIM(@string)

GO

6) REPLACE

Format:REPLACE ( 'string_expression1' , 'string_expression2' ,  'string_expression3' )

Function:用第3個字串表示式替換第一個字串表示式中包含的第二個字串表示式, string_expression1 , string_expression2‘, string_expression3均為字串表示式,返回值為字元型。

 eg1:

DECLARE @var1 varchar(20),@var2 varchar(20),@var3 varchar(20)
 SET  @var1='紫小星是一個大帥哥。' /*一個SET語句只能給一個變數賦值*/
 SET  @var2='大帥哥'
 SET @var3='萌妹紙'
 SELECT replace(@var1,@var2,@var3)
GO

eg2:

select REPLACE('紫小星是一個大帥哥。','大帥哥','萌妹紙')
go

Result:

7) SUBSTRING

Format:SUBSTRING ( expression , start , length )

Function: 返回expression中指定的部分資料。引數expression可為字串、二進位制串、 text,image欄位或表示式; start , length 均為整型,前者指定子串的開始位置,後者指定子串的長度(要返回的位元組數)。如果expression是字元型別和二進位制型別,則返回值型別與expression的型別相同。

給定的表示式

返回值型別

text

varchar

image

varbinary

ntext

nvarchar

eg1:

如下程式在一列中返回XS表中的姓氏,在另一列中返回表中學生的名。

SELECT SUBSTRING(Sname, 1,1), SUBSTRING(Sname, 2, LEN(Sname)-1)
FROM XS
ORDER BY Sname

Result:

eg2:

select SUBSTRING('1100115206',7,3) as 'I love you'
go

Result:

7) STR

Format:STR ( float_expression , length , decimal)

Function:將數字資料轉換為字元資料。 Length表示轉化後字串資料的總長度,如果資料的長度小於字串的長度,則在轉換後的資料字串的前面加空格填充。decimal表示轉化後所需要顯示的字串資料中小數的位數。

Attention: STR 函式只視句點 (.) 為有效的小數點。如果使用不同的小數點(例如,國際性的應用程式),可使用 CSTR將數字轉成字串。

eg1:

declare  @a float,@b char(10)

set @a=200.86

set @b=(select STR(@a,6,2))

select  @b as 輸出

go

Result:

eg2:

eg3:

eg4:

相關文章