Někdy může být nutné přenést data MySQL z jednoho datového typu do druhého. Zde je návod, jak přetypovat data pomocí funkce MySQL CAST.
Jak zadat Cast v MySQL
Podíváme se, jak funguje MySQL CAST a jak přetypovat data pomocí funkce MySQL CAST.
Zde je syntaxe funkce MySQL CAST
CAST(data as data_type)
MySQL CAST vyžaduje dva vstupy – data, která mají být přetypována, a datový typ (desítkové, char, atd.), na který chcete tato data převést. Data můžete přenášet do datových typů BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Data můžete poskytnout jako doslovnou hodnotu, jak je uvedeno níže
CAST(1 as char)
NEBO
Data můžete zadat jako název sloupce (např. id)
CAST(id as char)
Bonusové čtení:MySQL Rollback Query
Zde je ukázkový SQL dotaz, kde přetypujeme int na znak v klauzuli SELECT
mysql> select cast(1 as char) from sales;
Můžete také použít MySQL CAST v klauzuli WHERE. Zde převedeme řetězec na int v klauzuli WHERE.
mysql> select * from sales where id=CAST('213' as int);
Bonusové čtení:Jak používat kumulativní dotaz MySQL
Příklady MySQL CAST
Podívejme se na některé běžné příklady funkce MySQL CAST.
MySQL CAST jako Int
Zde je příklad MySQL casting float na celé číslo se znaménkem. Vezměte prosím na vědomí, že můžete přetypovat pouze na celočíselné datové typy UNSIGNED nebo SIGNED. Ve funkci CAST nelze použít INT.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST jako desítkové
Zde je návod, jak přetypovat jako desítkové
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Bonusové čtení:Jak zkontrolovat verzi MySQL
MySQL CAST jako plovoucí
MySQL CAST nepodporuje přetypování jako float. Musíte přetypovat jako desítkové, jak je uvedeno výše.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL Cast jako Varchar
MySQL CAST nepodporuje přetypování jako varchar. Musíte přenést jako znak, jak je znázorněno níže.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
MySQL Datetime to Date
Zde je návod, jak přenést datum a čas na datum.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!