LEFT (Transact-SQL)

返回字符串中从左边开始指定个数的字符。

主题链接图标 Transact-SQL 语法约定

语法

LEFT ( character_expression , integer_expression )

参数

  • character_expression
    字符或二进制数据的表达式。 character_expression 可以是常量、变量或列。 character_expression 可以是任何能够隐式转换为 varchar 或 nvarchar 的数据类型,但 text 或 ntext 除外。 否则,请使用 CAST 函数对 character_expression 进行显式转换。

  • integer_expression
    正整数,指定 character_expression 将返回的字符数。 如果 integer_expression 为负,则将返回错误。 如果 integer_expression 的数据类型为 bigint 且包含一个较大值,character_expression 必须是大型数据类型,如 varchar(max)。

    integer_expression 参数将 UTF-16 代理项字符计为一个字符。

返回类型

当 character_expression 为非 Unicode 字符数据类型时,返回 varchar。

当 character_expression 为 Unicode 字符数据类型时,返回 nvarchar。

注释

在使用 SC 排序规则时,integer_expression 参数将 UTF-16 代理项对计为一个字符。 有关详细信息,请参阅排序规则和 Unicode 支持

示例

A.带列使用 LEFT

以下示例返回每个产品名中最左边的五个字符。

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

B.带字符串使用 LEFT

以下示例使用 LEFT 函数返回字符串 abcdefg 中最左边的两个字符。

SELECT LEFT('abcdefg',2)
GO

下面是结果集:

-- 
ab 

(1 row(s) affected)

请参阅

参考

CAST 和 CONVERT (Transact-SQL)

数据类型 (Transact-SQL)

字符串函数 (Transact-SQL)