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


LEFT (Transact-SQL)

Возвращает указанное число символов символьного выражения слева.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

LEFT ( character_expression , integer_expression )

Аргументы

  • character_expression
    Выражение, результатом которого являются символьные или двоичные данные. Аргумент character_expression может быть константой, переменной или столбцом. Аргумент character_expression может иметь любой тип данных кроме text и ntext, которые следует явно преобразовывать в varchar или nvarchar. Пользуйтесь функцией CAST для явного преобразования типа аргумента character_expression.

  • integer_expression
    Положительное целое число, указывающее, сколько символов character_expression будет возвращено. Если значение integer_expression является отрицательным, будет возвращена ошибка. Если аргумент integer_expression имеет тип bigint и содержит большое значение, аргумент character_expression должен иметь тип данных, обеспечивающий представление больших значений, такой как varchar(max).

Типы возвращаемых данных

Возвращает тип varchar, если аргумент character_expression имеет отличный от Юникода символьный тип данных.

Возвращает тип nvarchar, если аргумент character_expression представляет собой символьный тип данных в Юникоде.

Замечания

Уровни совместимости могут повлиять на возвращаемые значения. Дополнительные сведения об уровнях совместимости см. в разделе sp_dbcmptlevel (Transact-SQL).

Примеры

А. Применение функции LEFT со столбцом

В следующем примере возвращаются пять первых символов от каждого из названий продуктов.

USE AdventureWorks2008R2;
GO
SELECT LEFT(Name, 5) 
FROM Production.Product
ORDER BY ProductID;
GO

Б. Применение функции LEFT с символьной строкой

Следующий пример показывает, как функция LEFT используется для получения двух первых символов из символьной строки abcdefg.

SELECT LEFT('abcdefg',2)
GO

Ниже приводится результирующий набор.

--

ab

(Обработано строк: 1)