logo

Funkcia MySQL CAST().

Funkcia CAST() v MySQL sa používa na konverziu hodnoty z jedného dátového typu na iný dátový typ špecifikovaný vo výraze. Väčšinou sa používa s doložkami WHERE, HAVING a JOIN. Táto funkcia je podobná funkcii CONVERT() v MySQL .

Nasledujú dátové typy, s ktorými táto funkcia dokonale funguje:

Dátový typ Popisy
DÁTUM Skonvertuje hodnotu na dátový typ DATE vo formáte 'RRRR-MM-DD'. Podporuje rozsah DATE v '1000-01-01' až '9999-12-31'.
DÁTUM ČAS Skonvertuje hodnotu na typ údajov DATETIME vo formáte 'RRRR-MM-DD HH:MM:SS'. Podporuje rozsah od '1000-01-01 00:00:00' do '9999-12-31 23:59:59'.
ČAS Konvertuje hodnotu na typ údajov TIME vo formáte 'HH:MM:SS'. Podporuje časový rozsah od '-838:59:59' do '838:59:59'.
CHAR Konvertuje hodnotu na typ údajov CHAR, ktorý obsahuje reťazec s pevnou dĺžkou.
desiatkový Skonvertuje hodnotu na typ údajov DECIMAL, ktorý obsahuje desiatkový reťazec.
PODPÍSANÉ Konvertuje hodnotu na dátový typ SIGNED, ktorý obsahuje 64-bitové celé číslo so znamienkom.
NEPOPÍSANÉ Konvertuje hodnotu na dátový typ UNSIGNED, ktorý obsahuje 64-bitové celé číslo bez znamienka.
BINÁRNY Skonvertuje hodnotu na typ údajov BINARY, ktorý obsahuje binárny reťazec.

Syntax

Nasledujú syntaxe funkcie CAST() v MySQL:

 CAST(expression AS datatype); 

Vysvetlenie parametra

Táto syntax akceptuje dva parametre, o ktorých sa bude diskutovať nižšie:

Parameter Požiadavka Popisy
Výraz Požadovaný Je to hodnota, ktorá sa prevedie na iný špecifický dátový typ.
Dátový typ Požadovaný Je to hodnota alebo dátový typ, v ktorom je potrebné previesť hodnotu výrazu.

Návratová hodnota

Po konverzii nám vráti hodnotu, v akom dátovom type chceme previesť.

Podpora verzie MySQL

Funkcia CAST môže podporovať nasledujúce verzie MySQL:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

Poďme pochopiť funkciu MySQL CAST() pomocou nasledujúcich príkladov. Funkciu CAST môžeme použiť priamo s príkazom SELECT.

Príklad 1

Tento príkaz skonvertuje hodnotu na dátový typ DATE.

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

Výkon

Funkcia MySQL CAST().

Príklad 2

Tento príkaz konvertuje hodnotu na dátový typ SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Výkon

Funkcia MySQL CAST().

Príklad 3

Tento príkaz skonvertuje hodnotu na dátový typ UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Výkon

Funkcia MySQL CAST().

Príklad 4

Niekedy je potrebné explicitne previesť reťazec na celé číslo, použite nasledujúci príkaz na prevod hodnoty na dátový typ INTEGER.

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

Výkon

Funkcia MySQL CAST().

Príklad 5

Nasledujúci príkaz najprv skonvertuje celočíselnou hodnotu na dátový typ reťazca a potom vykoná zreťazenie s iným zadaným reťazcom.

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

Výkon

Funkcia MySQL CAST().

Príklad 6

V tomto príklade uvidíme, ako funkcia CAST pracuje s tabuľkou. Najprv vytvoríme tabuľku ' objednávky “, ktorý obsahuje nasledujúce údaje:

Funkcia MySQL CAST().

Vo vyššie uvedenej tabuľke vidíme, že Order_Date je v dátovom type DATE. Teraz, ak chceme získať názov produktu medzi vybranými časovými intervalmi, vykonajte príkaz uvedený nižšie. Tu sa doslovný reťazec pred vyhodnotením podmienky WHERE prevedie na hodnotu časovej značky.

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

Toto vyhlásenie vytvorí nasledujúci výstup:

Funkcia MySQL CAST().