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')