字符串函数

用于 SQL Server 的 .NET Framework 数据提供程序(SqlClient)提供 String 函数,该函数对输入 String 执行操作并返回 String 或数值结果。 这些函数位于 SqlServer 命名空间中,使用 SqlClient 时可用。 提供程序的命名空间属性允许 Entity Framework 发现此提供程序用于特定构造(如类型和函数)的前缀。

下表显示了 SqlClient String 函数。

功能 DESCRIPTION
ASCII(expression) 返回字符串表达式最左侧字符的 ASCII 代码值。

论点

expression:ASCII String 类型的任何有效表达式。

返回值

一个 Int32

示例

SqlServer.ASCII('A')
CHAR(expression) Int32 代码转换为 ASCII 字符串。

论点

expressionInt32

返回值

ASCII String

示例

SqlServer.char(97)
CHARINDEX(expression1, expression2 [, start_location]) 返回指定表达式在字符串中的起始位置。

论点

expression1:包含要查找的字符序列的表达式。 表达式可以是 String(ASCII 或 Unicode)类型或二进制类型的表达式。

expression2:用于搜索指定序列的表达式(通常是列)。 表达式可以是 String(ASCII 或 Unicode)类型或二进制类型的表达式。

start_location:(可选)Int64(在 SQL Server 2000 中不返回)或 Int32,表示在 expression2 中开始搜索 expression1 的字符位置。 如果未指定start_location,则为负数或零,则搜索从 expression2 的开头开始。

返回值

一个 Int32

示例

SqlServer.CHARINDEX('h', 'habcdefgh', 2)
DIFFERENCE(expression, expression) SOUNDEX比较两个字符串的值,并计算两个字符串之间的相似性。

论点

ASCII 或 Unicode String 类型。 expression 可以是常量、变量或列。

返回值

返回一个 Int32 表示两个字符表达式的 SOUNDEX 值之间的差异。 范围从 0 到 4。 0 表示弱相似性或无相似性,4 表示强相似性或相同值。

示例

// The following example returns a DIFFERENCE value of 4,

//the least possible difference or the best match.

SqlServer.DIFFERENCE('Green','Greene');
LEFT(expression, count) 返回具有指定字符数的字符串的左侧部分。

论点

expression:Unicode 或 ASCII 字符串类型。 使用 CAST 函数显式转换字符表达式(character_expression)。

count:一个Int64类型(未在 SQL Server 2000 中返回)或Int32类型,用于指定将返回 character_expression 中的多少个字符。

返回值

Unicode 或 ASCII String

示例

SqlServer.LEFT('SQL Server', 4)
LEN(expression) 返回指定 String 表达式中的字符数,不包括尾随空格。

论点

expressionString(Unicode 或 ASCII)类型或 Binary 类型的表达式

返回值

一个 Int32

示例

SqlServer.LEN('abcd')
LOWER(expression) 将大写字符数据转换为小写后返回表达式 String

论点

expression:任何String类型的有效表达式。

返回值

String

示例

SqlServer.LOWER('AbB')
LTRIM(expression) 删除前导空格后返回表达式 String

论点

expressionString 类型的任何有效表达式。

返回值

String

示例

SqlServer.LTRIM(' d')
NCHAR(expression) 返回一个具有指定整数代码的 Unicode String,该代码由 Unicode 标准定义。

论点

expressionInt32

返回值

Unicode String

示例

SqlServer.NCHAR(65)
PATINDEX('%pattern%', expression) 返回指定 String 表达式中模式第一次出现的起始位置。

论点

'%pattern%':ASCII 或 Unicode String 类型。 可以使用通配符;但是模式的前后必须使用字符 %(搜索最前面的或最后面的字符时除外)。

expression:用于搜索指定模式的 ASCII 或 Unicode String

返回值

一个 Int32

示例

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) 返回一个 Unicode String ,其中添加了分隔符以使输入字符串成为有效的 SQL Server 2005 分隔标识符。

论点

char_string:Unicode String

quote_char:要用作分隔符的一个字符字符串。 可以是单引号(')、左括号或右方括号([ ] )或双引号(“)。 如果未 quote_char 指定,则使用括号。

返回值

Unicode String

示例

SqlServer.QUOTENAME('abc[]def')
REPLACE(expression1, expression2, expression3) 将字符表达式替换为另一个字符表达式。

论点

expression1:要搜索的字符串表达式。 expression1 可以是 Unicode 或 ASCII 字符串类型。

expression2:要找到的子字符串。 expression2 可以是 Unicode 或 ASCII 字符串类型。

expression3;替换字符串。 expression3 可以是 Unicode 或 ASCII 字符串类型。

示例

SqlServer.REPLACE('aabbcc', 'bc', 'zz')
REPLICATE(char_expression, int_expression) 重复指定次数的字符表达式。

论点

char_expression:Unicode 或 ASCII String 类型。

int_expressionInt64 (在 SQL Server 2000 中不受支持)或 Int32

返回值

Unicode 或 ASCII String 类型。

示例

SqlServer.REPLICATE('aa',2)
REVERSE(expression) 返回 Unicode 或 ASCII 字符串,其字符位置与输入字符串相反。

论点

expression:Unicode 或 ASCII String 类型。

返回值

Unicode 或 ASCII String 类型。

示例

SqlServer.REVERSE('abcd')
RIGHT(char_expression, count) 返回具有指定字符数的字符串的右侧部分。

论点

char_expression:Unicode 或 ASCII 字符串类型。 使用 CAST 函数显式转换字符表达式(character_expression)。

count:一个Int64类型(未在 SQL Server 2000 中返回)或Int32类型,用于指定将返回 character_expression 中的多少个字符。

返回值

ASCII String 类型。

示例

SqlServer.RIGHT('SQL Server', 6)
RTRIM(expression) 删除尾随空格后返回 Unicode 或 ASCII 字符串。

论点

expression:Unicode 或 ASCII String 类型。

返回值

Unicode 或 ASCII String 类型。

示例

SqlServer.RTRIM(' d e ')
SOUNDEX(expression) 返回一个四个字符(SOUNDEX)代码,以评估两个字符串的相似性。参数

expression:Unicode 或 ASCII 字符串类型。

返回值

ASCII String。 四个字符(SOUNDEX)代码是一个字符串,用于评估两个字符串的相似性。

示例

Select SqlServer.SOUNDEX('Smith'), SqlServer.SOUNDEX('Smythe') FROM {1}

返回

----- ----- S530 S530
SPACE(int_expression) 返回由重复的空格组成的 ASCII String

论点

int_expressionInt64(在 SQL Server 2000 中未返回)或 Int32 指示空格数。

返回值

ASCII String

示例

SqlServer.SPACE(2)
STR(float_expression [, length [, decimal]]) 返回从数值数据转换而成的 ASCII String

论点

float _expression:具有小数点的近似数值 (Double) 数据类型的表达式。

length:(可选)一个表示总长度的 Int32。 这包括小数点、符号、数字和空格。 默认值是10。

decimal:(可选)一个 Int32,表示小数点右侧位数。 小数必须小于或等于 16。 如果小数大于 16,则结果截断为小数点右侧的 16 位。

返回值

ASCII String

示例

SqlServer.STR(212.0)
STUFF(str_expression, start, length, str_expression_to_insert) 删除指定的字符长度,并在字符串表达式中的指定起点插入另一组字符。

论点

str_expression:Unicode 或 ASCII String

start:Int64 未在 SQL Server 2000 中返回)或 Int32 指定开始删除和插入的位置的值。

length:一个 Int64 (未在 SQL Server 2000 中返回)或 Int32 指定要删除的字符数的值。

str_expression_to_insert:Unicode 或 ASCII String

返回值

Unicode 或 ASCII String

示例

SqlServer.STUFF('abcd', 2, 2, 'zz')
SUBSTRING(str_expression, start, length) 返回 String 表达式的部分。

论点

str_expressionString(ASCII 或 Unicode)类型或 Binary 类型的表达式。

startInt64(在 SQL Server 2000 中未返回)或Int32指定子字符串的开始位置。 1 引用字符串中的第一个字符。

length: 一个Int64(在 SQL Server 2000 中未返回)或Int32,指定表达式返回的字符数量。

返回值

String(ASCII 或 Unicode)类型或 Binary 类型。

示例

SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) 为输入表达式的第一个字符返回 Unicode 标准定义的整数值。

论点

expression:Unicode String

返回值

一个 Int32

示例

SqlServer.UNICODE('a')
UPPER(expression) 将小写字符数据转换为大写后返回表达式 String

论点

expression:ASCII 或 Unicode 字符串类型的表达式。

返回值

ASCII 或 Unicode String 类型。

示例

SqlServer.UPPER('AbB')

有关 SqlClient 支持的函数的详细信息String,请参阅字符串函数(Transact-SQL)。

另请参阅