Sprytne sposoby użycia ciągu konkatenacji SQL

Sprytne sposoby użycia ciągu konkatenacji SQL

Strukturalny język zapytań (SQL) to niezwykle potężne narzędzie, które jest pełne funkcji. Kiedy już opanujesz najwięcej ważne polecenia SQL , możesz zacząć bardziej kreatywnie posługiwać się językiem SQL. Dzisiaj pokażę Ci wszystko, co musisz wiedzieć o ciągach konkatenacji SQL.





Istnieje wiele różnych dialektów SQL. We wszystkich tych przykładach używam PostgreSQL wariant.





jak zatrzymać blokowanie wyskakujących okienek w chrome?

Co to jest konkatenacja?

Konkatenacja oznacza połączenie dwóch rzeczy. Być może użyłeś go w języku programowania, aby połączyć ze sobą dwa ciągi. Być może masz zmienne imienia i nazwiska, które połączyłeś razem jako zmienną pełnego imienia i nazwiska.





Konkatenacja to bardzo przydatny sposób łączenia dwóch ciągów w jeden. PHP używa kropki do łączenia strun, podczas gdy JavaScript a jQuery używa znaku plus.

Konkatenacja w SQL działa dokładnie tak samo. Używasz specjalnego operatora, aby połączyć dwie rzeczy w jedną. Oto przykład w Pseudo kod :



first_name = Joe
last_name = Coburn
whole_name = first_name + last_name

W językach programowania konkatenacja ułatwia odczytywanie kodu. Jeśli twój kod zawsze potrzebuje dostępu do dwóch ciągów, połączenie ich w jeden ułatwia zapamiętanie i zmniejsza długość kodu.

Chociaż zmienne w SQL są mniej powszechne (ale nadal są używane), konkatenacja jest nadal potrzebna do zwracania połączonych wyników lub do manipulowania danymi.





Jak łączyć

Konkatenacja jest bardzo łatwe w SQL. Chociaż SQL jest powszechnym językiem, poszczególne aparaty baz danych implementują funkcje na różne sposoby. Chociaż wszystkie te przykłady są w dialekcie PostgreSQL, można je łatwo przetłumaczyć na inne warianty, po prostu wyszukując w Internecie hasło „Concatenate ”. Różne aparaty mogą mieć różną składnię konkatenacji, ale zasada pozostaje taka sama.

Wracając do naszego przykładu imienia, oto podstawowe Wybierz zapytanie:





SELECT first_name, last_name, email FROM users_table

Nie ma tu nic skomplikowanego, więc dodajmy w konkatenacji:

SELECT first_name || last_name AS full_name, email FROM users_table

Jak widać, ta konkatenacja zadziałała idealnie, ale jest jeden mały problem. Wynikowa pełna nazwa została zszyta dokładnie tak, jak iloczyn obu kolumn — między nazwami powinna być spacja!

Na szczęście łatwo to naprawić: po prostu połącz spację między nimi:

SELECT first_name || ' ' || last_name AS full_name, email FROM users_table

To są podstawowe przykłady, ale powinieneś zobaczyć, jak działa konkatenacja — to naprawdę takie proste! Operator potoku ( | ) jest używany dwukrotnie między klauzulami. Twój silnik SQL wie, że każda część przed i po tym symbolu powinna być połączona i traktowana jako jedna. Uważaj jednak, jeśli użyjesz operatora concat, ale niczego nie połączysz, otrzymasz błąd.

Jak wspomniano powyżej, te przykłady używają wariantu SQL PostgreSQL. Inne warianty mogą wykorzystywać innego operatora, a nawet specjalną funkcję, którą musisz wywołać. To naprawdę nie ma znaczenia Jak łączysz ciągi, pod warunkiem, że robisz to w sposób oczekiwany przez silnik bazy danych.

Głębiej

Teraz, gdy znasz już podstawy, przyjrzyjmy się szczegółowym przykładom wraz z kilkoma typowymi pułapkami.

Większość silników baz danych z powodzeniem łączy ciągi i liczby całkowite, a może nawet daty. Zwykle napotkasz problemy podczas próby łączenia złożonych typów, takich jak tablice:

SELECT first_name || ' ' || last_name || ARRAY[123, 456] AS full_name, email FROM users_table

Ten kod nie zadziała. Nie można łączyć ciągów ze złożonymi obiektami, takimi jak tablice. Jeśli myślisz o tym, co musisz zrobić, często możesz napisać prosty kod, który działa, zamiast złożonego, szalonego kodu, który się nie uruchamia.

Jeśli dobrze zastanowiłeś się nad tym, co musisz zrobić, a nadal nie możesz uruchomić kodu SQL, to czy rozważałeś użycie języka programowania? Jako programista pracujący nad starszym kodem, wiem, że próba debugowania SQL jest bolesna, ponieważ ktoś wpakował w to tyle logiki, że aż dziw, że w ogóle działa — jeśli próbujesz napisać logikę w SQL, przełącz się na język programowania (jest wiele łatwych języków do nauczenia).

Konkatenacja działa bardzo dobrze dla gdzie oświadczenia również:

SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR')::date

Dzieje się tu kilka rzeczy. W tym przykładzie DZIEŃ , MIESIĄC , oraz ROK to parametry, które zostały przekazane ze skryptu. Być może zostały one wygenerowane przez kod lub wprowadzone przez użytkownika. Są one łączone razem, a następnie rzutowane na typ daty (przy użyciu składni PostgreSQL cast to date) ::Data ).

Użycie konkatenacji w ten sposób umożliwia łączenie ze sobą poszczególnych części daty, która następnie może być przetwarzana jako „rzeczywista” data, w przeciwieństwie do ciągu. Nie zapominaj, że ten podstawowy przykład nie chroni przed wstrzyknięciem SQL, więc nie używaj go w żadnym kodzie produkcyjnym bez modyfikacji.

Kolejną pułapką, na którą należy uważać, jest: zero wartości (ciąg pusty jest ciągiem pustym lub nieistniejącym). Biorąc pod uwagę to zapytanie:

SELECT first_name || ' ' || NULL AS full_name, email FROM users_table

To zapytanie po cichu kończy się niepowodzeniem. Wynika to ze sposobu, w jaki konkatenacja jest wewnętrznie zakodowana w silniku bazy danych. Nie zawsze możesz napotkać ten problem, ale jest to dość częste zjawisko.

Jeśli uważasz, że dane zwracane przez Twoje zapytanie mogą być puste, musisz użyć a łączyć . Coalesce można z grubsza traktować jako „jeśli to jest null, zastąp to innym ciągiem lub kolumną”:

SELECT first_name || ' ' || COALESCE(NULL, 'ERROR NULL DATA') AS full_name, email FROM users_table

Teraz wiesz, jak używać konkatenacji w SQL, co z tym zrobisz? Czy ty? zrobić stronę internetową i ożywić go za pomocą SQL? A może potrzebujesz statycznego generatora witryn, aby prostsze podejście do tworzenia stron internetowych.

Cokolwiek robisz, daj nam znać w komentarzach poniżej!

jak uzyskać dostęp do wiadomości dms na Instagramie na komputerze?
Udział Udział Ćwierkać E-mail 6 dźwiękowych alternatyw: najlepsze darmowe lub tanie aplikacje do audiobooków

Jeśli nie masz ochoty płacić za audiobooki, oto kilka świetnych aplikacji, które pozwolą Ci ich słuchać bezpłatnie i legalnie.

Czytaj dalej
Powiązane tematy
  • Programowanie
  • Programowanie
  • SQL
O autorze Joe Coburn(136 opublikowanych artykułów)

Joe jest absolwentem informatyki na Uniwersytecie w Lincoln w Wielkiej Brytanii. Jest profesjonalnym programistą, a kiedy nie lata dronami ani nie pisze muzyki, często można go spotkać wykonującego zdjęcia lub produkującego filmy.

Więcej od Joe Coburna

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować