piątek,
SQL: Funkcja CAST()
Funkcja CAST() w SQL jest używana do konwersji typu danych jednego wyrażenia na inny. Jest to szczególnie przydatne, gdy potrzebujesz manipulować danymi w sposób, który wymaga zmiany ich typu, na przykład, gdy chcesz chcesz porównać lub obliczyć wartości przechowywane w różnych typach danych.
Podstawowa składnia
CAST (wyrażenie AS typ_danych)
wyrażenie
: Wartość lub kolumna, której typ danych ma zostać zmieniony.typ_danych
: Typ danych, na który ma zostać przekonwertowane wyrażenie.
Przykłady użycia
Konwersja typu tekstowego na liczbowy
Jeśli masz kolumnę z liczbami zapisanymi jako tekst (string) i chcesz je przekształcić w wartości liczbowe, aby móc wykonać obliczenia:
SELECT CAST(cena_jako_tekst AS DECIMAL(10,2))
FROM produkty;
Tutaj cena_jako_tekst
jest konwertowana na typ liczbowy DECIMAL
.
Konwersja daty na format tekstowy
Możesz chcieć przekonwertować datę na ciąg tekstowy, aby wyświetlić ją w określonym formacie:
SELECT CAST(data AS VARCHAR(10))
FROM zamowienia;
W tym przypadku data jest konwertowana na tekstowy ciąg znaków (VARCHAR
).
Zmiana precyzji liczby
Aby zmienić precyzję liczby zmiennoprzecinkowej:
SELECT CAST(wartosc AS DECIMAL(5,2))
FROM transakcje;
Wartość wartosc
jest tu konwertowana na liczbę dziesiętną z dwoma miejscami po przecinku.
Zastosowania
- Zapewnienie zgodności typów danych w operacjach, zapytaniach i funkcjach.
- Przygotowanie danych do eksportu, raportowania lub prezentacji.
- Manipulowanie danymi w celu spełnienia wymagań biznesowych lub technicznych.
Uwagi
- Przy konwersji danych należy być świadomym potencjalnych problemów, takich jak utrata precyzji lub przekształcenie niemożliwe do wykonania (np. próba przekonwertowania tekstu niebędącego liczbą na typ liczbowy).
- Różne systemy zarządzania bazami danych mogą mieć różne ograniczenia i zachowania dotyczące funkcji
CAST()
. - Zawsze warto przetestować operacje konwersji na danych testowych, aby uniknąć niespodziewanych wyników.