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_stringmoże być literalnym ciągiem znaków, zmienną lub kolumną. Typ danych wyniku działaniainput_stringmoże być dowolnym typem danych, z wyjątkiemTEXTlubNTEXT, który jest niejawnie konwertowany doVARCHARlubNVARCHAR. - Zawartość
number_of_charactersjest dodatnią liczbą całkowitą, która określa liczbę znakówinput_stringzostanie 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.