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


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

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

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

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

Аргументы

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

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

Объект Int32.

Пример

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

Аргументы

expression: Int32.

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

Строка String в ASCII.

Пример

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

Аргументы

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

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

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

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

Объект Int32.

Пример

SqlServer.CHARINDEX('h', 'habcdefgh', 2)
DIFFERENCE(expression, expression) Сравнивает значения SOUNDEX двух строк и вычисляет степень подобия между ними.

Аргументы

Значение типа String в Юникоде или ASCII. 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 будет возвращено.

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

Строка (String) в Юникоде или ASCII.

Пример

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: Int32.

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

Строка (String) в Юникоде.

Пример

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

Аргументы

'%pattern%': значение типа String в ASCII или Юникоде. Можно использовать символы-шаблоны, однако до и после шаблона необходимо указать символ «%» (за исключением операций поиска первого или последнего символа).

expression: значение типа String в ASCII или Юникоде, используемое для поиска указанного шаблона.

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

Объект Int32.

Пример

SqlServer.PATINDEX('abc', 'ab')
QUOTENAME('char_string' [, 'quote_char']) Возвращает строку (String) в Юникоде, в которую добавлены разделители, чтобы входная строка являлась допустимым идентификатором с разделителем Microsoft 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: значение типа String в ASCII или Юникоде.

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

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

Строка типа String в Юникоде или ASCII.

Пример

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

Аргументы

expression: значение типа String в ASCII или Юникоде.

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

Строка типа String в Юникоде или ASCII.

Пример

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: значение типа String в ASCII или Юникоде.

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

Строка типа String в Юникоде или ASCII.

Пример

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

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

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

Строка String в ASCII. Четырехсимвольный код (SOUNDEX) — это строка, оценивающая степень сходства двух строк.

Пример

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

Возвраты

----- ----- S530 S530
SPACE(int_expression) Возвращает строку String повторяющихся пробелов в ASCII.

Аргументы

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

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

Строка String в ASCII.

Пример

SqlServer.SPACE(2)
STR(float_expression [, length [, decimal]]) Возвращает строку String в кодировке ASCII, преобразованную из числовых данных.

Аргументы

float _expression: выражение приближенного числового типа данных Double с десятичной запятой.

length: числовое значение типа Int32, представляющее общую длину (необязательный параметр). Она включает десятичную запятую, знак, цифры и пробелы. Значение по умолчанию равно 10.

decimal:(optional) — число Int32 мест справа от десятичной запятой. количество знаков после десятичного разделителя должно быть не более 16. Если содержится более 16 знаков после десятичного разделителя, результат усекается до 16 знаков после десятичного разделителя.

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

Строка String в ASCII.

Пример

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

Аргументы

str_expression: строка (String) в Юникоде или ASCII.

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

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

str_expression_to_insert: строка (String) в Юникоде или ASCII.

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

Строка (String) в Юникоде или ASCII.

Пример

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, которое определяет, сколько символов аргумента expression будет возвращено.

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

Значение типа String (ASCII или Юникод) или Binary.

Пример

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

Аргументы

expression: строка (String) в Юникоде.

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

Объект Int32.

Пример

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

Аргументы

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

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

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

Пример

SqlServer.UPPER('AbB')

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

См. также