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

猜你喜欢

转载自blog.csdn.net/szzhuyike/article/details/81699475