LEFT (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics 分析平台系统 (PDW) Microsoft Fabric 中的 SQL 分析端点 Microsoft Fabric 中的仓库
返回字符串中从左边开始指定个数的字符。
语法
LEFT ( character_expression , integer_expression )
参数
character_expression
字符或二进制数据的表达式。 character_expression 可以是常量、变量或列。 character_expression 可以是除 text 或 ntext 外的任何数据类型,可隐式转换为 varchar 或 nvarchar 。 否则,请使用 CAST 函数显式转换 character_expression。
备注
如果 string_expression 的类型为二进制或 varbinary,则 LEFT 将执行到 varchar 的隐式转换,因此不会保留二进制输入 。
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
以下示例返回 AdventureWorks2022 数据库的 Product
表中每个产品名称中最左边的五个字符。
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)
示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
C. 带列使用 LEFT
以下示例返回每个产品名中最左边的五个字符。
-- Uses AdventureWorks
SELECT LEFT(EnglishProductName, 5)
FROM dbo.DimProduct
ORDER BY ProductKey;
D. 带字符串使用 LEFT
以下示例使用 LEFT
函数返回字符串 abcdefg
中最左边的两个字符。
-- Uses AdventureWorks
SELECT LEFT('abcdefg',2) FROM dbo.DimProduct;
结果集如下。
--
ab
另请参阅
LTRIM (Transact-SQL)
RIGHT (Transact-SQL)
RTRIM (Transact-SQL)
STRING_SPLIT (Transact-SQL)
SUBSTRING (Transact-SQL)
TRIM (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
数据类型 (Transact-SQL)
字符串函数 (Transact-SQL)