Jak działa CONVERT w języku SQL? Przykłady zastosowania

Jak działa CONVERT w języku SQL? Przykłady zastosowania

Podczas pracy z bazami danych często zdarza się konieczność konwersji różnych typów danych. W SQL Server mamy do dyspozycji funkcję CONVERT, która pozwala na zamianę jednego typu danych na inny. Jest to bardzo przydatne w sytuacjach, gdy musimy dopasować dane do określonego formatu, np. przy operacjach na datach, liczbach czy łańcuchach znaków.

Co to jest CONVERT w języku SQL?

Funkcja CONVERT w SQL Server służy do konwersji jednego typu danych na inny. W odróżnieniu od funkcji CAST, CONVERT pozwala na większą kontrolę nad formatowaniem, szczególnie w przypadku konwersji dat i godzin.

Składnia funkcji CONVERT

Podstawowa składnia funkcji CONVERT wygląda następująco:

CONVERT(nowy_typ, wartość, [styl])

Gdzie:

  • nowy_typ – typ danych, do którego chcemy dokonać konwersji.
  • wartość – wartość, którą chcemy przekonwertować.
  • styl (opcjonalny) – parametr umożliwiający formatowanie wyniku w przypadku konwersji do ciągów znaków (głównie dla dat).

Przykłady zastosowania CONVERT w SQL

1. Konwersja liczb na tekst

Czasami zachodzi potrzeba zamiany liczby na ciąg znaków. Możemy tego dokonać za pomocą CONVERT:

SELECT CONVERT(VARCHAR(10), 12345) AS Wynik;

Wynik:

Wynik
12345

2. Konwersja daty na tekst z określonym formatem

SQL Server pozwala na formatowanie dat poprzez użycie parametru stylu. Oto kilka popularnych przykładów:

SELECT CONVERT(VARCHAR, GETDATE(), 103) AS Data_Angielska,
       CONVERT(VARCHAR, GETDATE(), 104) AS Data_Niemiecka,
       CONVERT(VARCHAR, GETDATE(), 120) AS Data_ISO;

Wynik:

Data_Angielska Data_Niemiecka Data_ISO
25/06/2024 25.06.2024 2024-06-25 14:59:00

3. Konwersja tekstu na liczbę

Jeżeli mamy liczbę przechowywaną jako tekst, możemy zamienić ją na typ numeryczny:

SELECT CONVERT(INT, '12345') AS Wynik;

Wynik:

Wynik
12345

4. Konwersja czasu na różne formaty

Możemy konwertować również wartości czasu:

SELECT CONVERT(VARCHAR, GETDATE(), 108) AS Format_24H,
       CONVERT(VARCHAR, GETDATE(), 113) AS Format_UK;

Wynik:

Format_24H Format_UK
14:59:00 25 Jun 2024 14:59:00

Różnice między CONVERT a CAST

W SQL Server mamy także funkcję CAST. Różnica polega na tym, że:

  • CAST jest zgodny ze standardem SQL i zwykle bardziej przenośny między różnymi systemami bazodanowymi.
  • CONVERT pozwala na dodatkowe formatowanie wyników (np. dla dat).

Przykład użycia CAST:

SELECT CAST(GETDATE() AS VARCHAR(20)) AS Wynik;

Przykład użycia CONVERT:

SELECT CONVERT(VARCHAR(20), GETDATE(), 120) AS Wynik;

Kiedy warto używać CONVERT?

CONVERT jest szczególnie przydatny w takich przypadkach jak:

  1. Formatowanie dat na potrzeby raportów.
  2. Zamiana wartości liczbowych na tekstowe do dalszej obróbki.
  3. Przetwarzanie danych wejściowych pochodzących z różnych źródeł.

Jeżeli zależy nam na czytelniejszym formatowaniu wyników, CONVERT może okazać się lepszym wyborem niż CAST.

Podsumowanie

Funkcja CONVERT w języku SQL to potężne narzędzie do konwersji typów danych. Dzięki niej możemy precyzyjnie formatować wyniki – np. daty w określonych stylach. W porównaniu do CAST, daje większą elastyczność. Mam nadzieję, że ten artykuł rozjaśnił Ci działanie CONVERT i pomoże w codziennej pracy z bazami danych.

 

Inny ciekawy artykuł:

Jak działa CAST w języku SQL? Przykłady zastosowania

KajoDataSpace