A volte potrebbe essere necessario trasmettere i dati MySQL da un tipo di dati a un altro. Ecco come eseguire il typecast dei dati utilizzando la funzione MySQL CAST.
Come digitare Cast in MySQL
Vedremo come funziona MySQL CAST e come eseguire il typecast dei dati utilizzando la funzione MySQL CAST.
Ecco la sintassi della funzione MySQL CAST
CAST(data as data_type)
MySQL CAST richiede due input:i dati da convertire e il tipo di dati (decimale, char, ecc.) in cui si desidera convertire questi dati. Puoi trasmettere i dati nei tipi di dati BINARY, CHAR, DATE, DATETIME, TIME, DECIMAL, SIGNED, UNSIGNED.
Puoi fornire i dati come valore letterale come mostrato di seguito
CAST(1 as char)
O
Puoi dati come nome di una colonna (ad es. id)
CAST(id as char)
Lettura bonus:query di ripristino MySQL
Ecco una query SQL di esempio in cui eseguiamo il cast di un int su un char nella clausola SELECT
mysql> select cast(1 as char) from sales;
Puoi anche utilizzare MySQL CAST nella clausola WHERE. Qui convertiamo string in int nella clausola WHERE.
mysql> select * from sales where id=CAST('213' as int);
Bonus Leggi:Come utilizzare MySQL Rollup Query
Esempi MySQL CAST
Diamo un'occhiata ad alcuni degli esempi comuni della funzione CAST di MySQL.
MySQL CAST come Int
Ecco un esempio per eseguire il cast di MySQL da float a un numero intero con segno. Tieni presente che puoi trasmettere solo a tipi di dati interi UNSIGNED o SIGNED. Non è possibile utilizzare INT nella funzione CAST.
mysql> select cast(1.23 as signed); +------------------------+ | cast(1.23 as signed) | +------------------------+ | 1 | +------------------------+
MySQL CAST come decimale
Ecco come eseguire il cast come decimale
mysql> select cast(1.23 as decimal(4,3)); +----------------------------+ | cast(1.23 as decimal(4,3)) | +----------------------------+ | 1.230 | +----------------------------+
Bonus Leggi:Come controllare la versione di MySQL
MySQL CAST come float
MySQL CAST non supporta il cast come float. Devi eseguire il cast come decimale come mostrato sopra.
mysql> select cast(2.234 as decimal(5,3)); +-----------------------------+ | cast(2.234 as decimal(5,3)) | +-----------------------------+ | 2.234 | +-----------------------------+
MySQL Cast come Varchar
MySQL CAST non supporta il cast come varchar. Devi eseguire il cast come char come mostrato di seguito.
mysql> select cast('xyz' as char); +---------------------+ | cast('xyz' as char) | +---------------------+ | xyz | +---------------------+
Data e ora MySQL fino ad oggi
Ecco come trasmettere datetime fino ad oggi.
mysql> select cast('2020-01-01 13:30:00' as date); +-------------------------------------+ | cast('2020-01-01 13:30:00' as date) | +-------------------------------------+ | 2020-01-01 | +-------------------------------------+
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!