一、LEFT函數概述
SQL Server LEFT函數是用於從左側提取一個字符串的一部分。LEFT函數需要兩個參數:要從中提取字符的字符串和要提取的字符數。例如,在以下字符串「Hello, World」中,要提取前五個字符「Hello」,可以使用以下語句:
SELECT LEFT('Hello, World', 5) as Result;
輸出結果為:
Result
------
Hello
通過LEFT函數,可以方便地將一個字符串的一部分提取出來,以便於進行其他操作。
二、LEFT函數語法
LEFT函數的語法如下:
LEFT ( character_expression , integer_expression )
參數說明:
- character_expression: 要從中提取字符的字符串。
- integer_expression: 要從字符串的左側提取的字符數。
返回值:
LEFT函數返回從左側開始的字符串的一個指定數量的字符。
三、LEFT函數用法示例
1. 提取字符串的前N個字符
通過LEFT函數,可以方便地提取字符串前N個字符,例如:
SELECT LEFT('Hello, World', 5) as Result;
輸出結果為:
Result
------
Hello
其中,函數LEFT的第一個參數為字符串「Hello, World」,第二個參數為5,表示要提取的字符數。
2. 從列中提取左側的字符
除了可以從字符串中提取左側的字符之外,還可以從列中提取左側的字符。例如,下面的語句演示如何從「Employees」表中的「FirstName」列中提取前三個字符:
SELECT LEFT(FirstName, 3) as FirstName FROM Employees;
輸出結果如下:
FirstName
--------
Nan
Ken
Ter
Jak
其中,函數LEFT的第一個參數為「FirstName」列名,第二個參數為3,表示要提取的字符數。
3. 使用LEFT函數進行條件篩選
LEFT函數還可以用於條件篩選。例如,下面的語句選出「Employees」表中FirstName列第一個字符為「K」的記錄:
SELECT FirstName, LastName FROM Employees WHERE LEFT(FirstName, 1) = 'K';
輸出結果如下:
FirstName LastName
--------- ---------
Ken Sánchez
其中,函數LEFT的第一個參數為「FirstName」列名,第二個參數為1,表示要提取的字符數為1。WHERE子句中使用LEFT函數進行條件篩選。
4. 處理VARCHAR(MAX)類型的數據
在SQL Server 2008之前的版本中,LEFT函數的第二個參數必須是一個小於等於8000的整數值。對於VARCHAR(MAX)類型的數據,通常情況下,需要將其轉換為VARCHAR(8000)類型之後才能使用LEFT函數進行處理。例如,下面的語句將「Employees」表中的「Notes」列轉換為VARCHAR(8000)類型之後,提取前100個字符並進行輸出:
SELECT LEFT(CONVERT(VARCHAR(8000), Notes), 100) as Notes FROM Employees;
輸出結果如下:
Notes
--------------------------------------------------
ribute employee discount cards. $\n
Stores\n Grocery; Builder; Thrift; & Discount;\n
Management Train\r\n
{'name': 'Izumi', 'age': 42}
{'name': 'Jacob', 'age': 27}
{'name': 'Avery', 'age': 24}
其中,使用CONVERT函數將「Notes」列轉換為VARCHAR(8000)類型之後,再使用LEFT函數提取前100個字符。
原創文章,作者:SATN,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/132029.html