1. 程式人生 > >SQL SERVER 常用函式

SQL SERVER 常用函式

LEN ( string_expression )                 返回指定字串表示式的字元數,其中不包含空格

DATALENGTH ( expression )           此函式返回用於表示任何表示式的位元組數

SELECT LEN(43233),LEN(2018-07-20),LEN('2018-07-20')//5,4,10

INSERT INTO dbo.tt_DataType

( DT_CHAR10 ,  DT_VARCHAR10 , DT_NCHAR10 , DT_NVARCHAR10 , DECIMAL82 , DECIMAL124 )

VALUES  ( '1一2' ,  '1一2' , N'1一2' , N'1一2' , NULL , NULL )

SELECT LEN(DT_CHAR10),DATALENGTH(DT_CHAR10),LEN(DT_VARCHAR10),DATALENGTH(DT_VARCHAR10),LEN(DT_NCHAR10),DATALENGTH(DT_NCHAR10),LEN(DT_NVARCHAR10),DATALENGTH(DT_NVARCHAR10) FROM dbo.tt_DataType

//3    10    3    4    3    20    3    6

CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )  

此函式會在第二個字元表示式中搜索一個字元表示式,這將返回第一個表示式(如果發現存在)的開始位置。返回的起始位置從 1 開始,而不是從 0 開始。

DECLARE @strFind VARCHAR(20) = 'Hello,World!',@strOne VARCHAR(20) = 'World',@strTwo VARCHAR(20) = 'Hi'

SELECT CHARINDEX(@strOne,@strFind),CHARINDEX(@strTwo,@strFind) 

// 7  0

CONCAT ( string_value1, string_value2 [, string_valueN ] )    連線多個字串返回新的字串

SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' )  AS  Result;

//Happy Birthday 11/25

SELECT CONCAT ( 'HaHa ', NULL) AS Result;

// HaHa 

LEFT ( character_expression , integer_expression )  返回字串中從左邊開始指定個數的字元。

RIGHT ( character_expression , integer_expression ) 返回字串中從右邊開始指定個數的字元。

SELECT LEFT('Hi!DNS.',3),RIGHT('Hi!DNS.',4)

//Hi!    DNS.

LTRIM ( character_expression )  返回刪除了前導空格之後的字元表示式。

RTRIM ( character_expression ) 截斷所有尾隨空格後返回一個字串。

SELECT LTRIM('  DDD  '),RTRIM('  DDD  ')

REPLACE ( string_expression , string_pattern , string_replacement ) 用另一個字串值替換出現的所有指定字串值。

REVERSE ( string_expression ) 返回字串值的逆序

SELECT REPLACE('Habc88abc8zeadd','abc',''),REVERSE('cba')