Поделиться через


Строковые функции

Поставщик данных .NET Framework для SQL Server (SqlClient) предоставляет String функции, выполняющие операции с входными данными String и возвращающие String результат или числовое значение. Эти функции находятся в пространстве имен SqlServer, которое доступно при использовании SqlClient. Свойство пространства имен поставщика позволяет Entity Framework обнаруживать, какой префикс используется этим поставщиком для конкретных конструкций, таких как типы и функции.

В следующей таблице показаны функции SqlClient String .

Функция Описание
ASCII(expression) Возвращает значение кода ASCII самого левого символа строкового выражения.

Аргументы

expression: любое допустимое выражение типа ASCII String .

Возвращаемое значение

Объект Int32.

Пример

SqlServer.ASCII('A')
CHAR(expression) Преобразует код Int32 в строку ASCII.

Аргументы

expression: An Int32.

Возвращаемое значение

ASCII String.

Пример

SqlServer.char(97)
CHARINDEX(expression1, expression2 [, start_location]) Возвращает начальную позицию указанного выражения в строке символов.

Аргументы

expression1: выражение, содержащее последовательность найденных символов. Выражение может быть типом String (ASCII или Юникодом) или двоичным типом.

expression2: выражение, как правило, столбец, для поиска указанной последовательности. Выражение может быть типом String (ASCII или Юникодом) или двоичным типом.

start_location:(Optional) Int64 (не возвращенный в SQL Server 2000) или Int32, представляющий позицию символа для начала поиска выражения1 в выражении2. Если start_location не указан, является отрицательным числом или равно нулю, поиск начинается в начале выражения2.

Возвращаемое значение

Объект 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: Тип строки Юникода или ASCII. Используйте функцию CAST для явного преобразования character_expression.

count: ( Int64 не возвращается в SQL Server 2000) или Int32 тип, указывающий, сколько символов character_expression будет возвращено.

Возвращаемое значение

Юникод или ASCII String.

Пример

SqlServer.LEFT('SQL Server', 4)
LEN(expression) Возвращает количество символов в указанном строковом выражении, за исключением конечных пустых знаков.

Аргументы

expression: выражение String типа (Юникод или ASCII) или Binary типа

Возвращаемое значение

Объект Int32.

Пример

SqlServer.LEN('abcd')
LOWER(expression) String Возвращает выражение после преобразования символьных данных верхнего регистра в строчный регистр.

Аргументы

expression: любое допустимое выражение String типа.

Возвращаемое значение

А String.

Пример

SqlServer.LOWER('AbB')
LTRIM(expression) Возвращает выражение String после удаления начальных пробелов.

Аргументы

expression: любое допустимое выражение String типа.

Возвращаемое значение

А String.

Пример

SqlServer.LTRIM(' d')
NCHAR(expression) Возвращает символ Юникода String с указанным целым числовым кодом, как определено стандартом Юникода.

Аргументы

expression: An Int32.

Возвращаемое значение

Юникод String.

Пример

SqlServer.NCHAR(65)
PATINDEX('%pattern%', expression) Возвращает начальную позицию первого вхождения шаблона в указанном String выражении.

Аргументы

'%pattern%': тип ASCII или Юникод String . Подстановочные знаки можно использовать; однако символ % должен стоять перед и после шаблона (за исключением случаев поиска первых или последних символов).

expression: ASCII или Юникод String для поиска указанного шаблона.

Возвращаемое значение

Объект Int32.

Пример

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Возвращает Юникод String с разделителями, добавленными для преобразования входной строки в допустимый разделённый идентификатор для SQL Server 2005.

Аргументы

char_string: Юникод String.

quote_char: однозначная строка, используемая в качестве разделителя. Может быть одной кавычкой ('), левой или правой скобкой ([ ]), или двойной кавычкой ("). Если quote_char не указано, используются квадратные скобки.

Возвращаемое значение

Юникод String.

Пример

SqlServer.QUOTENAME('abc[]def')
REPLACE(expression1, expression2, expression3) Заменяет символьное выражение другим символьным выражением.

Аргументы

expression1: строковое выражение для поиска. expression1 может быть типом строки Юникода или ASCII.

expression2:Подстрока, которую нужно найти. expression2 может быть типом строки Юникода или ASCII.

expression3; Строка замены. expression3 может быть типом строки Юникода или ASCII.

Пример

SqlServer.REPLACE('aabbcc', 'bc', 'zz')
REPLICATE(char_expression, int_expression) Повторяет символьное выражение для указанного количества раз.

Аргументы

char_expression: Тип Юникод или ASCII String.

int_expression: Int64 (не поддерживается в SQL Server 2000) или Int32.

Возвращаемое значение

Тип данных Юникод или ASCII String.

Пример

SqlServer.REPLICATE('aa',2)
REVERSE(expression) Возвращает строку в формате Юникода или ASCII, в которой символы расположены в обратном порядке по сравнению с входной строкой.

Аргументы

expression: Тип Юникод или ASCII String.

Возвращаемое значение

Тип данных Юникод или ASCII String.

Пример

SqlServer.REVERSE('abcd')
RIGHT(char_expression, count) Возвращает правую часть строки символов с указанным числом символов.

Аргументы

char_expression:Тип строки Юникода или ASCII. Используйте функцию CAST для явного преобразования character_expression.

count: ( Int64 не возвращается в SQL Server 2000) или Int32 тип, указывающий, сколько символов character_expression будет возвращено.

Возвращаемое значение

Тип ASCII String.

Пример

SqlServer.RIGHT('SQL Server', 6)
RTRIM(expression) Возвращает строку Юникода или ASCII после удаления последних пробелов.

Аргументы

expression: Тип Юникод или ASCII String.

Возвращаемое значение

Тип данных Юникод или ASCII String.

Пример

SqlServer.RTRIM(' d e ')
SOUNDEX(expression) Возвращает код с четырьмя символами (SOUNDEX), чтобы оценить сходство двух строк. Аргументы

expression: Тип строки Юникода или ASCII.

Возвращаемое значение

ASCII String. Четырехзначный код (SOUNDEX) — это строка, которая оценивает сходство двух строк.

Пример

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

Возвраты

----- ----- S530 S530
SPACE(int_expression) Возвращает символ ASCII String в виде последовательности пробелов.

Аргументы

int_expression: ( Int64 не возвращается в 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, результат усечен до шестнадцати мест справа от десятичной запятой.

Возвращаемое значение

ASCII String.

Пример

SqlServer.STR(212.0)
STUFF(str_expression, start, length, str_expression_to_insert) Удаляет указанную длину символов и вставляет другой набор символов в указанную начальную точку в строковом выражении.

Аргументы

str_expression: Юникод или ASCII String.

start: Значение Int64 (не возвращенное в SQL Server 2000) или Int32, указывающее расположение для начала удаления и вставки.

length: значение Int64 (не возвращено в SQL Server 2000) или Int32 значение, указывающее количество символов для удаления.

str_expression_to_insert: Юникод или ASCII String.

Возвращаемое значение

Юникод или ASCII String.

Пример

SqlServer.STUFF('abcd', 2, 2, 'zz')
SUBSTRING(str_expression, start, length) Возвращает часть String выражения.

Аргументы

str_expression: выражение типа String (ASCII или Юникод) или типа Binary.

start: значение Int64 (не возвращено в SQL Server 2000) или Int32 указывает, где начинается подстрока. 1 относится к первому символу в строке.

length: ( Int64 не возвращено в SQL Server 2000) или Int32 указывает, сколько символов выражения будет возвращено.

Возвращаемое значение

Тип String (ASCII или Юникод) или Binary тип.

Пример

SqlServer.SUBSTRING('abcd', 2, 2)
UNICODE(expression) Возвращает целочисленное значение, определенное стандартом Юникода, для первого символа входного выражения.

Аргументы

expression: Юникод String.

Возвращаемое значение

Объект Int32.

Пример

SqlServer.UNICODE('a')
UPPER(expression) Возвращает String выражение после преобразования строчных символьных данных в верхний регистр.

Аргументы

expression: выражение типа ASCII или типа строки Юникода.

Возвращаемое значение

Тип ASCII или Юникод String .

Пример

SqlServer.UPPER('AbB')

Дополнительные сведения о функциях, поддерживаемых String SqlClient, см. в разделе "Строковые функции" (Transact-SQL).

См. также