logo

MySQL CAST() -funktio

MySQL:n CAST()-funktiota käytetään arvon muuntamiseen yhdestä tietotyypistä toiseen lausekkeessa määritettyyn tietotyyppiin. Sitä käytetään enimmäkseen WHERE-, HAVING- ja JOIN-lauseiden kanssa. Tämä funktio on samanlainen kuin CONVERT()-funktio in MySQL .

Seuraavat ovat tietotyypit, joissa tämä toiminto toimii täydellisesti:

Tietotyyppi Kuvaukset
PÄIVÄMÄÄRÄ Se muuntaa arvon DATE-tietotyypiksi muodossa VVVV-KK-PP. Se tukee aluetta DATE välillä '1000-01-01' - '9999-12-31'.
TREFFIAIKA Se muuntaa arvon DATETIME-tietotyypiksi muodossa 'VVVV-KK-PP HH:MM:SS'. Se tukee aluetta 1000-01-01 00:00:00 - 9999-12-31 23:59:59.
AIKA Se muuntaa arvon TIME-tietotyypiksi muodossa HH:MM:SS. Se tukee aikaväliä '-838:59:59' - '838:59:59'.
HIILTYÄ Se muuntaa arvon CHAR-tietotyypiksi, joka sisältää kiinteän pituisen merkkijonon.
DESIMAALI Se muuntaa arvon DECIMAL-tietotyypiksi, joka sisältää desimaalimerkkijonon.
Allekirjoitettu Se muuntaa arvon SIGNED-tietotyypiksi, joka sisältää etumerkillisen 64-bittisen kokonaisluvun.
Allekirjoittamaton Se muuntaa arvon UNSSIGNED-tietotyypiksi, joka sisältää etumerkittömän 64-bittisen kokonaisluvun.
BINÄÄRI Se muuntaa arvon BINARY-tietotyypiksi, joka sisältää binäärimerkkijonon.

Syntaksi

Seuraavassa on CAST()-funktion syntaksi MySQL:ssä:

 CAST(expression AS datatype); 

Parametrin selitys

Tämä syntaksi hyväksyy kaksi parametria, joita käsitellään alla:

Parametri Vaatimus Kuvaukset
Ilmaisu Edellytetään Se on arvo, joka muunnetaan toiseksi tietyksi tietotyypiksi.
Tietotyyppi Edellytetään Se on arvo tai tietotyyppi, jossa lausekkeen arvo on muutettava.

Palautusarvo

Muuntamisen jälkeen se palauttaa arvon, jonka tietotyypin haluamme muuntaa.

MySQL-version tuki

CAST-toiminto voi tukea seuraavia MySQL-versioita:

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

Ymmärrämme MySQL CAST() -funktion seuraavien esimerkkien avulla. Voimme käyttää CAST-funktiota suoraan SELECT-käskyn kanssa.

Esimerkki 1

Tämä lauseke muuntaa arvon DATE-tietotyypiksi.

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

Lähtö

MySQL CAST() -funktio

Esimerkki 2

Tämä lauseke muuntaa arvon SIGNED-tietotyypiksi.

 SELECT CAST(3-6 AS SIGNED); 

Lähtö

MySQL CAST() -funktio

Esimerkki 3

Tämä lauseke muuntaa arvon UNINSIGNED-tietotyypiksi.

 SELECT CAST(3-6 AS UNSIGNED); 

Lähtö

MySQL CAST() -funktio

Esimerkki 4

Joskus on tarve muuntaa merkkijono nimenomaisesti kokonaisluvuksi, käytä seuraavaa käskyä arvon muuntamiseen INTEGER-tietotyypiksi.

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

Lähtö

MySQL CAST() -funktio

Esimerkki 5

Seuraava käsky muuntaa ensin kokonaisluvun arvon merkkijonotietotyypiksi ja suorittaa sitten ketjutuksen toisen määritetyn merkkijonon kanssa.

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

Lähtö

MySQL CAST() -funktio

Esimerkki 6

Tässä esimerkissä aiomme nähdä, kuinka CAST-funktio toimii taulukon kanssa. Luokaamme ensin taulukko Tilaukset ', joka sisältää seuraavat tiedot:

MySQL CAST() -funktio

Yllä olevasta taulukosta voimme nähdä, että tilauspäivämäärä on DATE-tietotyypissä. Nyt, jos haluamme saada tuotteen nimen valittujen aikajaksojen väliin, suorita alla oleva lauseke. Tässä kirjaimellinen merkkijono muunnettiin aikaleimaarvoksi ennen WHERE-ehdon arviointia.

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

Tämä lausunto tuottaa seuraavan tuloksen:

MySQL CAST() -funktio