logo

Funkce MySQL CAST().

Funkce CAST() v MySQL se používá k převodu hodnoty z jednoho datového typu na jiný datový typ specifikovaný ve výrazu. Většinou se používá s klauzulemi WHERE, HAVING a JOIN. Tato funkce je podobná funkci CONVERT() v MySQL .

Níže jsou uvedeny datové typy, se kterými tato funkce dokonale funguje:

Datový typ Popisy
DATUM Převede hodnotu na datový typ DATE ve formátu 'RRRR-MM-DD'. Podporuje rozsah DATE v '1000-01-01' až '9999-12-31'.
ČAS SCHŮZKY Převede hodnotu na datový typ DATETIME ve formátu 'RRRR-MM-DD HH:MM:SS'. Podporuje rozsah v '1000-01-01 00:00:00' až '9999-12-31 23:59:59'.
ČAS Převádí hodnotu na datový typ TIME ve formátu 'HH:MM:SS'. Podporuje časový rozsah '-838:59:59' až '838:59:59'.
CHAR Převede hodnotu na datový typ CHAR, který obsahuje řetězec pevné délky.
DESETINNÝ Převede hodnotu na datový typ DECIMAL, který obsahuje desítkový řetězec.
PODEPSANÝ Převede hodnotu na datový typ SIGNED, který obsahuje 64bitové celé číslo se znaménkem.
NEPODEPSANÝ Převede hodnotu na datový typ UNSIGNED, který obsahuje 64bitové celé číslo bez znaménka.
BINÁRNÍ Převede hodnotu na datový typ BINARY, který obsahuje binární řetězec.

Syntax

Následuje syntaxe funkce CAST() v MySQL:

 CAST(expression AS datatype); 

Vysvětlení parametru

Tato syntaxe přijímá dva parametry, o kterých budeme diskutovat níže:

Parametr Požadavek Popisy
Výraz Požadované Je to hodnota, která bude převedena na jiný konkrétní datový typ.
Datový typ Požadované Je to hodnota nebo datový typ, ve kterém je třeba převést hodnotu výrazu.

Návratová hodnota

Po převodu vrátí hodnotu, v jakém datovém typu chceme převést.

Podpora verze MySQL

Funkce CAST může podporovat následující verze 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

Pojďme pochopit funkci MySQL CAST() pomocí následujících příkladů. Přímo můžeme použít funkci CAST s příkazem SELECT.

Příklad 1

Tento příkaz převede hodnotu na datový typ DATE.

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

Výstup

Funkce MySQL CAST().

Příklad 2

Tento příkaz převede hodnotu na datový typ SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Výstup

Funkce MySQL CAST().

Příklad 3

Tento příkaz převede hodnotu na datový typ UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Výstup

Funkce MySQL CAST().

Příklad 4

Někdy je potřeba explicitně převést řetězec na celé číslo, pro převod hodnoty na datový typ INTEGER použijte následující příkaz.

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

Výstup

Funkce MySQL CAST().

Příklad 5

Následující příkaz nejprve převede celočíselnou hodnotu na datový typ řetězce a poté provede zřetězení s jiným zadaným řetězcem.

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

Výstup

Funkce MySQL CAST().

Příklad 6

V tomto příkladu uvidíme, jak funkce CAST pracuje s tabulkou. Nejprve vytvoříme tabulku ' Objednávky “, který obsahuje následující údaje:

Funkce MySQL CAST().

Ve výše uvedené tabulce vidíme, že Order_Date je v datovém typu DATE. Nyní, pokud chceme získat název produktu mezi vybranými časovými obdobími, proveďte níže uvedený příkaz. Zde je doslovný řetězec převeden na hodnotu časového razítka před vyhodnocením podmínky 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); 

Tento příkaz vytvoří následující výstup:

Funkce MySQL CAST().