Функція CAST() у MySQL використовується для перетворення значення з одного типу даних в інший тип даних, указаний у виразі. Здебільшого використовується з реченнями WHERE, HAVING і JOIN. Ця функція подібна до функції CONVERT() у MySQL .
Нижче наведено типи даних, з якими ця функція ідеально працює:
Тип даних | Описи |
---|---|
ДАТА | Він перетворює значення на тип даних DATE у форматі «РРРР-ММ-ДД». Він підтримує діапазон ДАТИ від «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);
Вихід
Приклад 2
Цей оператор перетворює значення в тип даних SIGNED.
SELECT CAST(3-6 AS SIGNED);
Вихід
Приклад 3
Цей оператор перетворює значення на тип даних UNSIGNED.
SELECT CAST(3-6 AS UNSIGNED);
Вихід
Приклад 4
Іноді виникає потреба явно перетворити рядок на ціле число, скористайтеся наступним оператором для перетворення значення в тип даних INTEGER.
SELECT (3 + CAST('3' AS SIGNED))/2;
Вихід
Приклад 5
Наступний оператор спочатку перетворює ціле число в рядковий тип даних, а потім виконує конкатенацію з іншим указаним рядком.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Вихід
Приклад 6
У цьому прикладі ми побачимо, як функція 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);
Цей оператор дасть наступний результат: