logo

Funkcja MySQL CAST().

Funkcja CAST() w MySQL służy do konwersji wartości z jednego typu danych na inny typ danych określony w wyrażeniu. Używa się go najczęściej z klauzulami WHERE, HAVING i JOIN. Ta funkcja jest podobna do funkcji CONVERT() w MySQL'a .

Poniżej znajdują się typy danych, dla których ta funkcja działa doskonale:

Typ danych Opisy
DATA Konwertuje wartość na typ danych DATE w formacie „RRRR-MM-DD”. Obsługuje zakres DATY od „1000-01-01” do „9999-12-31”.
DATAGODZINA Konwertuje wartość na typ danych DATETIME w formacie „RRRR-MM-DD HH:MM:SS”. Obsługuje zakres od „1000-01-01 00:00:00” do „9999-12-31 23:59:59”.
CZAS Konwertuje wartość na typ danych TIME w formacie „GG:MM:SS”. Obsługuje zakres czasu od „-838:59:59” do „838:59:59”.
ZWĘGLAĆ Konwertuje wartość na typ danych CHAR zawierający ciąg o stałej długości.
DZIESIĘTNY Konwertuje wartość na typ danych DECIMAL, który zawiera ciąg dziesiętny.
PODPISANO Konwertuje wartość na typ danych SIGNED, który zawiera 64-bitową liczbę całkowitą ze znakiem.
NIE PODPISANE Konwertuje wartość na typ danych UNSIGNED, który zawiera 64-bitową liczbę całkowitą bez znaku.
DWÓJKOWY Konwertuje wartość na typ danych BINARY, który zawiera ciąg binarny.

Składnia

Poniżej przedstawiono składnię funkcji CAST() w MySQL:

 CAST(expression AS datatype); 

Wyjaśnienie parametrów

Ta składnia akceptuje dwa parametry, które zostaną omówione poniżej:

Parametr Wymóg Opisy
Wyrażenie Wymagany Jest to wartość, która zostanie przekonwertowana na inny konkretny typ danych.
Typ danych Wymagany Jest to wartość lub typ danych, na który należy przekonwertować wartość wyrażenia.

Wartość zwracana

Po konwersji zwróci wartość, w jakim typ danych chcemy przekonwertować.

Obsługa wersji MySQL

Funkcja CAST może obsługiwać następujące wersje MySQL:

  • MySQL8.0
  • MySQL-a 5.7
  • MySQL-a 5.6
  • MySQL-a 5.5
  • MySQL 5.1
  • MySQL5.0
  • MySQL 4.1
  • MySQL 4.0

Pozwól nam zrozumieć funkcję MySQL CAST() na poniższych przykładach. Funkcji CAST możemy używać bezpośrednio z instrukcją SELECT.

Przykład 1

Ta instrukcja konwertuje wartość na typ danych DATE.

 SELECT CAST('2018-11-30' AS DATE); 

Wyjście

Funkcja MySQL CAST().

Przykład 2

Ta instrukcja konwertuje wartość na typ danych SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Wyjście

Funkcja MySQL CAST().

Przykład 3

Ta instrukcja konwertuje wartość na typ danych UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Wyjście

Funkcja MySQL CAST().

Przykład 4

Czasami istnieje potrzeba jawnej konwersji ciągu na liczbę całkowitą. Aby przekonwertować wartość na typ danych INTEGER, użyj poniższej instrukcji.

 SELECT (3 + CAST('3' AS SIGNED))/2; 

Wyjście

Funkcja MySQL CAST().

Przykład 5

Poniższa instrukcja najpierw konwertuje wartość całkowitą na typ danych typu string, a następnie wykonuje konkatenację z innym określonym ciągiem.

 SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR)); 

Wyjście

Funkcja MySQL CAST().

Przykład 6

W tym przykładzie zobaczymy, jak funkcja CAST współpracuje z tabelą. Najpierw utwórzmy tabelę ' Zamówienia ', który zawiera następujące dane:

Funkcja MySQL CAST().

W powyższej tabeli widzimy, że Order_Date ma typ danych DATE. Teraz, jeśli chcemy uzyskać nazwę produktu pomiędzy wybranymi zakresami czasu, wykonaj poniższą instrukcję. W tym przypadku ciąg literału został przekonwertowany na wartość znacznika czasu przed oceną warunku WHERE.

 SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME); 

Ta instrukcja da następujące dane wyjściowe:

Funkcja MySQL CAST().