SQL Server 的 LEFT 函数用于从给定的表达式中返回最左边的字符。此函数使用第二个参数来决定应返回多少个最左边的字符,其语法如下。
SELECT LEFT (Character_Expression, Value) FROM [Source]
- Character_Expression:它将从此表达式中写入最左边的字符。
- Value:您希望从 Character_Expression 中提取多少个字符?
LEFT 函数中的索引位置从 1 开始,而不是 0。在此示例中,我们使用下面显示的数据

SQL Server LEFT 函数示例
LEFT 函数从给定的字符串返回指定数量的最左边字符。以下查询返回最前面的 3 个和 20 个字符。
在第一个语句中,我们使用 LEFT 函数从 @Character_Expression 变量中返回五个最左边的字符。
在下一行中,我们将 20 赋值给第二个参数,它大于字符串长度。因此,它将从 @Character_Expression 返回所有字母
DECLARE @Charcater_Expression varchar(50) SET @Charcater_Expression = 'Learn SQL Server' --Using Positive Integer 3 SELECT LEFT(@Charcater_Expression, 5) AS 'SQLLEFT' --Searching from specific position – 20 SELECT LEFT(@Charcater_Expression, 20) AS 'SQLLEFT'

LEFT 函数示例 2
SQL Server 的 Left 函数还允许您从列值中选择最左边的字符。在此 Server 示例中,我们将返回 Department Name 列中所有记录的前四个单词。
SELECT [FirstName]
,[LastName]
,[DepartmentName]
,LEFT([DepartmentName], 4) AS [SQLLEFT]
FROM [Employe]

如果您观察第二条记录,在 Sr. 后面有一个空格。让我们使用 CHARINDEX 函数查找 Email 列中 @ 符号的索引位置。接下来,此 字符串方法将提取直到 @ 符号的最左边字母。
SELECT [FirstName]
,[LastName]
,[DepartmentName]
,[Email]
,LEFT(
[Email]
,CHARINDEX ('@', [Email]) - 1
) AS [SQLLEFT]
FROM [Employe]

下面的 LEFT 语句返回 @ 符号的索引位置。这表明 CHARINDEX 方法会在每条记录中查找 @ 符号的索引位置。
CHARINDEX ('@', [Email])
我们使用下面的语句将索引位置减 1。如果您忽略此操作,输出也会包含 @ 符号。
CHARINDEX ('@', [Email]) - 1