Czasami może być konieczne przesyłanie danych MySQL z jednego typu danych na inny. Oto jak typować dane za pomocą funkcji MySQL CAST.
Jak wpisać Cast w MySQL
Przyjrzymy się, jak działa MySQL CAST i jak typować dane za pomocą funkcji MySQL CAST.
Oto składnia funkcji MySQL CAST
CAST(data as data_type)
MySQL CAST wymaga dwóch danych wejściowych – danych do rzutowania typu i typu danych (dziesiętny, znakowy itp.), na który chcesz je przekonwertować. Możesz rzutować dane na typy danych BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Możesz podać dane jako wartość dosłowną, jak pokazano poniżej
CAST(1 as char)
LUB
Możesz podać nazwę kolumny (np. id)
CAST(id as char)
Przeczytaj bonus:Zapytanie o wycofanie MySQL
Oto przykładowe zapytanie SQL, w którym rzutujemy int na znak w klauzuli SELECT
mysql> select cast(1 as char) from sales;
Możesz również użyć MySQL CAST w klauzuli WHERE. Tutaj konwertujemy string na int w klauzuli WHERE.
mysql> select * from sales where id=CAST('213' as int);
Przeczytaj bonus:Jak korzystać z zapytania zbiorczego MySQL
Przykłady MySQL CAST
Przyjrzyjmy się niektórym typowym przykładom funkcji MySQL CAST.
MySQL CAST jako Int
Oto przykład rzutowania zmiennoprzecinkowego MySQL na liczbę całkowitą ze znakiem. Pamiętaj, że możesz rzutować tylko na typy danych całkowitych UNSIGNED lub SIGNED. Nie możesz użyć INT w funkcji CAST.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST jako dziesiętny
Oto jak rzutować jako dziesiętny
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Przeczytaj bonus:Jak sprawdzić wersję MySQL
MySQL CAST jako Float
MySQL CAST nie obsługuje rzutowania jako float. Musisz rzucić jako dziesiętny, jak pokazano powyżej.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL Cast jako Varchar
MySQL CAST nie obsługuje rzutowania jako varchar. Musisz przesyłać jako znak, jak pokazano poniżej.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL Data i godzina do daty
Oto jak przesłać datę i godzinę na datę.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!