Функција ЦАСТ() у МиСКЛ-у се користи за претварање вредности из једног типа података у други тип података наведен у изразу. Углавном се користи са клаузулама ВХЕРЕ, ХАВИНГ и ЈОИН. Ова функција је слична функцији ЦОНВЕРТ() у МиСКЛ .
Следе типови података на којима ова функција функционише савршено:
Тип података | Описи |
---|---|
ДАТУМ | Конвертује вредност у тип података ДАТЕ у формату „ГГГГ-ММ-ДД“. Подржава опсег од ДАТЕ у '1000-01-01' до '9999-12-31'. |
ДАТУМ ВРЕМЕ | Конвертује вредност у тип података ДАТЕТИМЕ у формату „ГГГГ-ММ-ДД ЧЧ:ММ:СС“. Подржава опсег од '1000-01-01 00:00:00' до '9999-12-31 23:59:59'. |
ВРЕМЕ | Конвертује вредност у тип података ТИМЕ у формату 'ХХ:ММ:СС'. Подржава распон времена од '-838:59:59' до '838:59:59'. |
ЦХАР | Конвертује вредност у тип података ЦХАР који садржи стринг фиксне дужине. |
ДЕЦИМАЛАН | Конвертује вредност у тип података ДЕЦИМАЛ који садржи децимални низ. |
ПОТПИСАН | Конвертује вредност у СИГНЕД тип података који садржи потписани 64-битни цео број. |
НЕПОТПИСАН | Конвертује вредност у тип података УНСИГНЕД који садржи непотписани 64-битни цео број. |
БИНАРИ | Конвертује вредност у тип података БИНАРИ који садржи бинарни стринг. |
Синтакса
Следеће је синтакса функције ЦАСТ() у МиСКЛ-у:
CAST(expression AS datatype);
Објашњење параметара
Ова синтакса прихвата два параметра, о којима ће бити речи у наставку:
Параметар | Услов | Описи |
---|---|---|
Израз | Потребан | То је вредност која ће бити конвертована у други одређени тип података. |
Тип података | Потребан | То је вредност или тип података у који вредност израза треба да се конвертује. |
Повратна вредност
Након конверзије, вратиће вредност у коју врсту података желимо да конвертујемо.
Подршка за МиСКЛ верзију
ЦАСТ функција може да подржи следеће МиСКЛ верзије:
- МиСКЛ 8.0
- МиСКЛ 5.7
- МиСКЛ 5.6
- МиСКЛ 5.5
- МиСКЛ 5.1
- МиСКЛ 5.0
- МиСКЛ 4.1
- МиСКЛ 4.0
Хајде да разумемо функцију МиСКЛ ЦАСТ() са следећим примерима. Функцију ЦАСТ можемо користити директно са наредбом СЕЛЕЦТ.
Пример 1
Ова изјава конвертује вредност у тип података ДАТЕ.
SELECT CAST('2018-11-30' AS DATE);
Излаз
Пример 2
Ова изјава конвертује вредност у СИГНЕД тип података.
SELECT CAST(3-6 AS SIGNED);
Излаз
Пример 3
Ова изјава конвертује вредност у УНСИГНЕД тип података.
SELECT CAST(3-6 AS UNSIGNED);
Излаз
Пример 4
Понекад постоји потреба да се стринг експлицитно претвори у цео број, користите следећу наредбу за претварање вредности у ИНТЕГЕР тип података.
SELECT (3 + CAST('3' AS SIGNED))/2;
Излаз
Пример 5
Следећа изјава прво конвертује целобројну вредност у тип података низа, а затим врши конкатенацију са другим наведеним стрингом.
SELECT CONCAT('CAST Function Example ## ',CAST(5 AS CHAR));
Излаз
Пример 6
У овом примеру ћемо видети како функција ЦАСТ ради са табелом. Хајде да прво направимо табелу ' Наређења ' који садржи следеће податке:
У горњој табели можемо видети да је Ордер_Дате у типу података ДАТЕ. Сада, ако желимо да добијемо назив производа између изабраних периода, извршите наредбу испод. Овде се литерални стринг конвертује у вредност временске ознаке пре процене ВХЕРЕ услова.
SELECT Order_ID, Product_Name FROM Orders WHERE Order_Date BETWEEN CAST('2020-02-01' AS DATETIME) AND CAST('2020-02-28' AS DATETIME);
Ова изјава ће произвести следећи излаз: