הפונקציות ()CAST ו-()CONVER ניתנות לשימוש, לצורך לקיחת ערך מסוג מסוים וליצור ממנו ערך מסוג אחר. התחביר שלהם נראה כך:
|
ערך ה-type יכול להיות אחד מהסוגים הבאים:
1. Binary
2. Char
3. Date
4. Datetime
5. (Signed (Integer
6. Time
7. (Unsigned (Ineteger
פונקציות CAST שימושיות כאשר נרצה ליצור טור עם טיפוס מסוים במשפט: SELECT...CREATE
;(CREATE TABLE new_table SELECT CAST('2000-01-01' AS DATE |
הפונקציות יכולות להיות שימושיות למיון טורי ENUM בסדר לקסיקלי. בד"כ מיון טורי ENUM קורה כאשר משתמשים בערכים נומריים פנימיים. פעולת CASTING לאותם ערכים ל-CHAR יביא לידי מיונם בסדר לקסיקלי:
SELECT enum_col FROM tbl_name ORDER BY CAST (enum_col AS CHAR); |
(CAST (string AS BINARY זהה ל-BINARY string.
(CAST (expr AS CHAR מתייחס לביטוי כמחרוזת עם מערך תווים ברירת המחדל.
כדי לבצע CAST למחרוזת כדי להמירה לערך נומרי, אנו בד"כ לא נהיה חייבים לעשות דבר; רק נתייחס למחרוזת כאילו הייתה מספר:
|
אם נשתמש במספר בהקשר של מחרוזת, המספר יומר אוטומטית למחרוזת בינארית.
|
MYSQL תומך באריתמטיקה של שני הערכים בעלי 64 ביט, SIGNED ו-UNSIGNED. אם נשתמש בפעולות חשבוניות (כמו +) ואחד האופרנדים יהיה unsigned, integer, התוצאה תהיה UNSIGNED. ניתן להתגבר על זה באמצעות שימוש ב-SIGNED ו-UNSIGNED פעולות CAST.
|
שים לב שלמרות שהאופרנד הוא מסוג floting-point, התוצאה תהיה ב-floting-point והיא לא תהיה מושפעת מהחוק לעיל.
|