logo

Funkcija MySQL CAST().

Funkcija CAST() u MySQL-u koristi se za pretvaranje vrijednosti iz jedne vrste podataka u drugu vrstu podataka navedenu u izrazu. Uglavnom se koristi s rečenicama WHERE, HAVING i JOIN. Ova je funkcija slična funkciji CONVERT() u MySQL .

Sljedeći su tipovi podataka na kojima ova funkcija radi savršeno:

Tip podataka Opisi
DATUM Pretvara vrijednost u tip podataka DATE u formatu 'GGGG-MM-DD'. Podržava raspon DATUMA od '1000-01-01' do '9999-12-31'.
DATUM VRIJEME Pretvara vrijednost u tip podataka DATETIME u formatu 'GGGG-MM-DD HH:MM:SS'. Podržava raspon od '1000-01-01 00:00:00' do '9999-12-31 23:59:59'.
VRIJEME Pretvara vrijednost u tip podataka VRIJEME u formatu 'HH:MM:SS'. Podržava raspon vremena od '-838:59:59' do '838:59:59'.
CHAR Pretvara vrijednost u tip podataka CHAR koji sadrži niz fiksne duljine.
DECIMAL Pretvara vrijednost u tip podataka DECIMAL koji sadrži decimalni niz.
POTPISAN Pretvara vrijednost u tip podataka SIGNED koji sadrži potpisani 64-bitni cijeli broj.
NEPOTPISAN Pretvara vrijednost u tip podataka UNSIGNED koji sadrži 64-bitni cijeli broj bez predznaka.
BINARNI Pretvara vrijednost u tip podataka BINARY koji sadrži binarni niz.

Sintaksa

Sljedeća je sintaksa funkcije CAST() u MySQL-u:

 CAST(expression AS datatype); 

Parametar Objašnjenje

Ova sintaksa prihvaća dva parametra o kojima će se raspravljati u nastavku:

Parametar Zahtjev Opisi
Izraz Potreban To je vrijednost koja će se pretvoriti u drugu specifičnu vrstu podataka.
Tip podataka Potreban To je vrijednost ili tip podataka u koji treba pretvoriti vrijednost izraza.

Povratna vrijednost

Nakon konverzije, vratit će vrijednost u koju vrstu podataka želimo pretvoriti.

Podrška za MySQL verziju

Funkcija CAST može podržati sljedeće MySQL verzije:

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

Razmotrimo funkciju MySQL CAST() pomoću sljedećih primjera. Funkciju CAST možemo izravno koristiti s naredbom SELECT.

Primjer 1

Ova izjava pretvara vrijednost u tip podataka DATE.

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

Izlaz

Funkcija MySQL CAST().

Primjer 2

Ova izjava pretvara vrijednost u tip podataka SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Izlaz

Funkcija MySQL CAST().

Primjer 3

Ova izjava pretvara vrijednost u tip podataka UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Izlaz

Funkcija MySQL CAST().

Primjer 4

Ponekad postoji potreba za eksplicitnim pretvaranjem niza u cijeli broj, upotrijebite sljedeću izjavu za pretvaranje vrijednosti u tip podataka INTEGER.

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

Izlaz

Funkcija MySQL CAST().

Primjer 5

Sljedeća izjava prvo pretvara cjelobrojnu vrijednost u tip podataka niza, a zatim izvodi ulančavanje s drugim navedenim nizom.

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

Izlaz

Funkcija MySQL CAST().

Primjer 6

U ovom primjeru ćemo vidjeti kako funkcija CAST radi s tablicom. Prvo napravimo tablicu ' Narudžbe ' koji sadrži sljedeće podatke:

Funkcija MySQL CAST().

U gornjoj tablici možemo vidjeti da je Order_Date tipa podataka DATE. Sada, ako želimo dobiti naziv proizvoda između odabranih raspona vremena, izvršite naredbu u nastavku. Ovdje se literalni niz pretvara u vrijednost vremenske oznake prije evaluacije uvjeta 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); 

Ova izjava će proizvesti sljedeći izlaz:

Funkcija MySQL CAST().