logo

Функция MySQL CAST().

Функцията CAST() в MySQL се използва за преобразуване на стойност от един тип данни в друг тип данни, посочени в израза. Използва се най-вече с клаузи WHERE, HAVING и JOIN. Тази функция е подобна на функцията CONVERT() в MySQL .

По-долу са типовете данни, с които тази функция работи перфектно:

Тип данни Описания
ДАТА Той преобразува стойността в тип данни ДАТА във формат „ГГГГ-ММ-ДД“. Поддържа диапазона от ДАТА в '1000-01-01' до '9999-12-31'.
ВРЕМЕ ЗА СРЕЩА Той преобразува стойността в типа данни DATETIME във формат „ГГГГ-ММ-ДД ЧЧ:ММ:СС“. Поддържа диапазона от „1000-01-01 00:00:00“ до „9999-12-31 23:59:59“.
ВРЕМЕ Той преобразува стойността в тип данни TIME във формат „ЧЧ:ММ:СС“. Поддържа диапазона от време от „-838:59:59“ до „838:59:59“.
CHAR Той преобразува стойност в типа данни CHAR, който съдържа низа с фиксирана дължина.
ДЕСЕТИЧНА Той преобразува стойност в типа данни DECIMAL, който съдържа десетичен низ.
ПОДПИСАН Той преобразува стойност в тип данни SIGNED, който съдържа 64-битово цяло число със знак.
НЕПОДПИСАН Той преобразува стойност в типа данни UNSIGNED, който съдържа 64-битово цяло число без знак.
ДВОИЧЕН Той преобразува стойност в типа данни BINARY, който съдържа двоичния низ.

Синтаксис

Следва синтаксисът на функцията CAST() в MySQL:

 CAST(expression AS datatype); 

Параметър Обяснение

Този синтаксис приема два параметъра, които ще бъдат обсъдени по-долу:

Параметър Изискване Описания
Изразяване Задължително Това е стойност, която ще бъде преобразувана в друг специфичен тип данни.
Тип данни Задължително Това е стойност или тип данни, в които стойността на израза трябва да бъде преобразувана.

Върната стойност

След преобразуването ще върне стойност, в кой тип данни искаме да конвертираме.

Поддръжка на MySQL версия

Функцията CAST може да поддържа следните версии на 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

Нека разберем функцията MySQL CAST() със следните примери. Можем да използваме функцията CAST с командата SELECT директно.

Пример 1

Този оператор преобразува стойността в тип данни DATE.

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

Изход

Функция MySQL CAST().

Пример 2

Този оператор преобразува стойността в тип данни SIGNED.

 SELECT CAST(3-6 AS SIGNED); 

Изход

Функция MySQL CAST().

Пример 3

Този оператор преобразува стойността в тип данни UNSIGNED.

 SELECT CAST(3-6 AS UNSIGNED); 

Изход

Функция MySQL CAST().

Пример 4

Понякога има нужда от изрично преобразуване на низа в цяло число, използвайте следния оператор за преобразуване на стойността в тип данни INTEGER.

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

Изход

Функция MySQL CAST().

Пример 5

Следният оператор първо преобразува целочислена стойност в низов тип данни и след това извършва конкатенация с друг определен низ.

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

Изход

Функция MySQL CAST().

Пример 6

В този пример ще видим как функцията CAST работи с таблицата. Нека първо създадем таблица ' Поръчки “, който съдържа следните данни:

Функция MySQL CAST().

В горната таблица можем да видим, че Order_Date е в тип данни DATE. Сега, ако искаме да получим име на продукт между избрани диапазони от време, изпълнете оператора по-долу. Тук буквалният низ се преобразува в стойност на клеймо за време, преди да се оцени условието 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); 

Това изявление ще доведе до следния резултат:

Функция MySQL CAST().