SQL server 2008中的常见的字符串处理函数
2016-12-26桂云秋张磊周扬朱臣
桂云秋 张磊 周扬 朱臣
摘 要 数据库查询于处理中常常会遇到对字符串的处理,因此熟悉常见的字符串处理函数对数据库的查询机数据处理有非常重要的作用,下面简要介绍SQL server 2008中的常见的字符串处理函数。
关键词 SQL server 2008 len函数 left函数与right函数 UBSTRING函数
数据库查询于处理中常常会遇到对字符串的处理,因此熟悉常见的字符串处理函数对数据库的查询机数据处理有非常重要的作用,下面简要介绍SQL server 2008中的常见的字符串处理函数。希望对读者有所帮助。
1 len函数
Len函数能返回指定字符串表达式的字符数,其中不包含尾随空格。其语法格式为LEN ( string_expression )。
以下示例在 Australia 地区的人的 FirstName 中选择字符数和数据。
SELECT LEN(FirstName) AS Length, FirstName, LastName
FROM Sales.vIndividualCustomer
WHERE CountryRegionName = Australia;
2 left函数与right函数
Left函数返回字符串中从左边开始指定个数的字符。其语法格式为LEFT ( character_expression , integer_expression )。
其中character_expression 可以是常量、变量或列。character_expression 可以是任何能够隐式转换为 varchar 或 nvarchar 的数据类型,但 text 或 ntext 除外。integer_expression为正整数,指定 character_expression 将返回的字符数。
以下示例返回每个产品名中最左边的五个字符。
SELECT LEFT(Name, 5)
FROM Production.Product
ORDER BY ProductID;
right函数和left函数的语法和用法类似,只是返回字符串中从右边边开始指定个数的字符,这里不再详细说明。
3 replace函数
replace函数可以实现用另一个字符串值替换出现的所有指定字符串值。其语法格式为REPLACE ( string_expression1 , string_expression2 , string_expression3 )。其中,string_expression1为要搜索的字符串表达式。string_expression1 可以是字符或二进制数据类型。string_expression2为要查找的子字符串。string_expression2 可以是字符或二进制数据类型。string_expression3为替换字符串。string_expression3 可以是字符或二进制数据类型。
以下示例使用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(abcdefghicde,cde,xxx);
4 SUBSTRING函数
SUBSTRING函数返回字符表达式、二进制表达式、文本表达式或图像表达式的一部分。其语法格式为SUBSTRING ( value_expression ,start_expression , length_expression )。其中, value_expression为需要处理的字符串。start_expression为指定返回字符的起始位置的整数。length_expression为是正整数或指定要返回的 value_expression 的字符数的 bigint 表达式。
以下示例说明如何只返回字符串的一部分。该查询在一列中返回 Contact 表中的姓氏,在另一列中只返回名字首字母。
SELECT LastName, SUBSTRING(FirstName, 1, 1) AS Initial
FROM Person.Contact
WHERE LastName like Barl%
对于 ntext、char 或 varchar 数据类型,必须以字符数指定 start_expression 和 length_expression 的值;对于 text、image、binary 或 varbinary 数据类型,则必须以字节数指定。当 start_expression 或 length_expression 包含的值大于 2147483647 时,value_expression 的数据类型必须为 varchar(max) 或 varbinary(max)。
参考文献
[1] 杜佰林.网络数据库SQL Server 2000[M].清华出版社,2009,9.
[2] 何薇,舒后.网络数据库技术与应用[M].清华大学出版社,2014,10.