Podsumowanie: w tym poradniku dowiesz się, jak używać funkcji SQL Server LEFT()
do wyodrębniania określonej liczby znaków z lewej strony podanego ciągu znaków.
Przegląd funkcjiSQL Server LEFT()
Funkcja LEFT()
wyodrębnia podaną liczbę znaków z lewej strony podanego ciągu znaków. Na przykład, LEFT('SQL Server', 3)
zwraca SQL
.
Składnia funkcji LEFT()
jest następująca:
Code language: SQL (Structured Query Language) (sql)LEFT ( input_string , number_of_characters )
W tej składni:
- Wynik
input_string
może być literalnym ciągiem znaków, zmienną lub kolumną. Typ danych wyniku działaniainput_string
może być dowolnym typem danych, z wyjątkiemTEXT
lubNTEXT
, który jest niejawnie konwertowany doVARCHAR
lubNVARCHAR
. - Zawartość
number_of_characters
jest dodatnią liczbą całkowitą, która określa liczbę znakówinput_string
zostanie zwrócona.
Funkcja LEFT()
zwraca wartość VARCHAR
, gdy input_string
jest typem danych niebędącym znakiem Unicode lub input_string
jest typem danych niebędącym znakiem Unicode.Unicode lub NVARCHAR
jeśli input_string
jest typem danych znaków Unicode.
Przykłady użycia funkcji LEFT() serweraSQL
Pozwólmy sobie na kilka przykładów użycia funkcji LEFT()
, aby lepiej ją zrozumieć.
A) użycie funkcji LEFT() z dosłownym ciągiem znaków
Poniższa instrukcja używa funkcji LEFT()
do zwrócenia trzech najbardziej na lewo położonych znaków ciągu znaków SQL Server
:
Code language: SQL (Structured Query Language) (sql)SELECT LEFT('SQL Server',3) Result_string;
Tutaj jest wyjście:
Result_string-------------SQL(1 row affected)
B) Użycie funkcji LEFT() z kolumną tabeli
Następujący przykład zwraca siedem najbardziej na lewo położonych znaków każdej nazwy produktu w tabeli production.products
:
Code language: SQL (Structured Query Language) (sql)SELECT product_name, LEFT(product_name, 7) first_7_charactersFROM production.productsORDER BY product_name;
Następujący obrazek przedstawia częściowe wyjście:
C) Użycie funkcji LEFT() z klauzulą GROUP BY
Poniższy przykład wykorzystuje funkcję LEFT()
do zwrócenia zbioru inicjałów nazwy produktu oraz numeru każdego produktu dla każdego inicjału:
Code language: SQL (Structured Query Language) (sql)SELECTLEFT(product_name, 1) initial, COUNT(product_name) product_countFROM production.productsGROUP BYleft(product_name, 1)ORDER BY initial;
Oto dane wyjściowe:
To zapytanie może być użyte do alfabetycznej paginacji w aplikacjach.
W tym poradniku dowiedziałeś się, jak używać funkcji SQL Server LEFT()
do uzyskania lewej części łańcucha znaków o określonej liczbie znaków.