SQLShack (Polski)

W tym artykule omówimy nową funkcję SQL TRIM w SQL Server 2017 i nowsze, a także dostarczanie pewnych informacji na temat funkcji ciągów, które poprzedzają go, takich jak LTRIM I RTRIM.

Deweloperzy SQL zwykle napotykają problemy ze spacjami na początku i / lub końcu ciągu znaków. Może być konieczne przycięcie wiodących i końcowych znaków z ciągu znaków. Być może będziemy musieli wykonać operacje na ciągach również za pomocą funkcji SQL. Załóżmy, że chcemy usunąć spacje z końcowego końca ciągu, musielibyśmy używać funkcji SQL LTRIM i RTRIM do SQL Server 2016.

W SQL Server 2017 otrzymujemy nową wbudowaną funkcję przycinaj zarówno wiodące, jak i końcowe znaki razem za pomocą jednej funkcji. Funkcja SQL TRIM zapewnia dodatkową funkcjonalność usuwania znaków z określonego ciągu. Nadal możemy używać funkcji RTRIM i LTRIM również z SQL Server 2017. Zbadajmy te funkcje z przykładami.

Funkcja SQL LTRIM

Usuwa znaki z początku (zaczynając od lewej strony) określonego ciągu. W poniższym zapytaniu mamy spację przed i po ciągu. Musimy usunąć spację z lewej strony ciągu za pomocą funkcji LTRIM.

Używamy funkcji SQL DATALENGTH () do obliczenia długości danych w bajtach przed i po użyciu funkcji SQL LTRIM.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 24
  • Rozmiar ciągu danych w bajtach po SQL LTRIM: 18

Funkcja SQL RTRIM

Usuwa znaki z końca ((zaczynając od prawej strony) określonego ciągu. Wykonajmy następujące zapytanie, aby zobaczyć efekt działania funkcji SQL RTRIM.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 24
  • Rozmiar ciągu danych w bajtach po RTRIM SQL: 16

Funkcja TRIM w SQL Server 2017

Przed SQL Server 2017, jeśli musimy usunąć zarówno przestrzenie wiodące, jak i szkoleniowe, musimy użyć zarówno funkcji LTRIM, jak i RTRIM. W poniższym zapytaniu , użyliśmy funkcji LTRIM i RTIM ze zmienną łańcuchową.

Na poniższym zrzucie ekranu widzimy, że usuwa zarówno początkowe, jak i tra iling przestrzeni ze sznurka.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 24
  • Rozmiar ciągu danych w bajtach po SQL LTRIM: 11

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 25
  • Rozmiar ciągu danych w bajtach po SQL LTRIM i RTRIM: 11

Musimy użyć dwóch funkcji, aby usunąć spacje z ciągu. Możemy użyć pojedynczego wystąpienia funkcji TRIM w SQL Server 2017 i nowszych, aby przyciąć zarówno znaki początkowe, jak i końcowe, przyjrzyjmy się funkcji TRIM w dalszej części tego artykułu.

Składnia funkcji TRIM

1

TRIM (ciąg)

  • TrimCharacter: Możemy określić znak do usunięcia z ciągu. Domyślnie SQL Server usuwa spacje z obu stron ciągu
  • Ciąg: musimy określić ciąg, który chcemy przyciąć

Zbadajmy funkcję SQL TRIM z przykłady.

TRIM Przestrzenie wiodące i treningowe:

Domyślnie funkcja Trim usuwa spację z obu stron łańcucha. W poniższym zapytaniu musimy zdefiniować ciąg znaków ze spacjami po obu stronach ciągu.

Wykonaj to zapytanie:

Nie określiliśmy żadnych znaków do usunięcia w funkcji TRIM. Na wyjściu funkcja SQL TRIM usuwa zarówno początkową, jak i końcową spację.

Możesz również zauważyć różnicę w długości łańcucha przed i po funkcji TRIM.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 24
  • Rozmiar ciągu danych w bajtach po SQL TRIM: 11

TRIM Znaki wiodące z ciągu:

W poprzednim przykładzie zbadaliśmy, że SQL TRIM zastępuje RTRIM i LTRIM i to eliminuje, aby usunąć wszystkie znaki spacji przed i po ciągu. Możemy również usunąć znaki z ciągu za pomocą TRIM. Załóżmy, że chcemy usunąć znak ON z ciągu, możemy go określić w funkcji TRIM zgodnie z poniższym skryptem.

Sprawdza określone znaki zarówno na początku, jak i na końcu łańcucha i usuwa określone znaki. W ciągu Application mamy znak ON na początku. Na poniższym zrzucie ekranu możesz spojrzeć na dane wyjściowe po funkcji TRIM.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 11
  • Rozmiar ciągu danych w bajtach po SQL TRIM: 9

Spójrzmy na jeszcze jeden przykład. Tym razem chcemy usunąć znaki App z wiodącej strony. Nie musimy dokonywać żadnych zmian w skrypcie. Możemy określić znak do usunięcia za pomocą SQL TRIM i daje to wymagane wyjście.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 11
  • Rozmiar ciągu danych w bajtach po SQL TRIM: 8

W poprzednich przykładach usunęliśmy znak z początku lub końca . Jeśli mamy znak po obu stronach, usuwa je również.

W poniższym przykładzie chcemy usunąć znak A znajdujący się po obu stronach łańcucha. Wykonaj skrypt i usunie określone znaki z obu stron.

  • Rozmiar ciągu danych w bajtach dla oryginału Ciąg: 12
  • Rozmiar ciągu danych w bajtach po SQL TRIM: 10

Załóżmy, że określiliśmy znak, którego nie ma w ciągu. W poniższym przykładzie chcemy usunąć znaki A i C z wiodącego lub końcowego końca. Nie mamy znaku C po obu stronach, więc go nie usuwa. Usuwa tylko znak A i daje wynik.

  • Rozmiar ciągu danych w bajtach dla oryginalnego ciągu: 12
  • Rozmiar ciągu danych w bajtach po SQL TRIM: 10

TRIM dla rekordów w tabeli

W poprzednim artykule użyliśmy zmiennej do zdefiniowania łańcucha i wykonania na nim operacji SQL TRIM. Zwykle wymagamy użycia TRIM na rekordach tabeli. Użyjmy go w poniższym przykładzie.

W poniższych przykładach wyeliminowano znak R z ciągu na początku i na końcu.

Możemy również użyć funkcji SQL TRIM w instrukcji Update. Załóżmy, że chcemy zaktualizować wszystkie rekordy w tabeli Employee i chcemy wyeliminować znaki Manager z JobTitile.

Nie traktuje Menedżera jako jednego słowa. Funkcja przycinania sprawdza każdy znak w ciągu i eliminuje go.

Możemy użyć przecinka (,) do oddzielenia każdego znaku również.

Wykonuje tę samą pracę i usuwa określone znaki z ciągu na początku i na końcu.

Podsumowanie

W tym artykule omówiliśmy funkcję SQL TRIM w SQL Server 2017 i nowszych wersjach. Dowiedzieliśmy się również o funkcjach TRIM LTRIM i RTRIM dostępnych w SQL Server 2016 lub wcześniejszych.

W zależności od używanej wersji SQL Server, powinieneś zrozumieć te funkcje i zapoznać się z pojęciami. Mam nadzieję, że ten artykuł okaże się przydatny. Zachęcamy do wyrażania opinii lub zadawania pytań w komentarzach poniżej.

  • Autor
  • Najnowsze posty
Jako certyfikowany przez MCSA i certyfikowany trener Microsoft w Gurgaon w Indiach, z 13-letnim doświadczeniem, Rajendra pracuje dla różnych dużych firm, koncentrując się na optymalizacji wydajności, monitorowaniu, wysokiej dostępności i strategiach odtwarzania po awarii i wdrożenie. Jest autorem setek autorytatywnych artykułów na temat SQL Server, Azure, MySQL, Linux, Power BI, Performance Tuning, AWS / Amazon RDS, Git i powiązanych technologii, które do tej pory obejrzało ponad 10 milionów czytelników.
Jest twórcą jednej z największych bezpłatnych kolekcji artykułów online na jeden temat, obejmującej 50-częściową serię na temat grup dostępności SQL Server Always On. Dzięki swojemu wkładowi w społeczność SQL Server, został wyróżniony różnymi nagrodami, w tym prestiżową nagrodą „Najlepszy autor roku” nieprzerwanie w 2020 i 2021 roku w SQLShack.
Raj jest zawsze zainteresowany nowymi wyzwaniami, więc jeśli potrzebujesz konsultacji pomoc na każdy temat poruszony w jego pismach, można się z nim skontaktować pod adresem [email protected]
Wyświetl wszystkie posty Rajendry Gupty

Najnowsze posty Rajendry Gupty (zobacz wszystkie)
  • Wykonywanie drobnych i głównych aktualizacji wersji AWS RDS SQL Server – 29 stycznia 2021
  • Wdrażanie wystąpień AWS RDS PostgreSQL – 27 stycznia 2021
  • Migracja lokalnych baz danych SQL do AWS RDS SQL Server przy użyciu AWS DMS – 25 stycznia , 2021 r.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *