MySQL 中的 CAST() 函數用於將值從一種數據類型轉換為表達式中指定的另一種數據類型。它主要與 WHERE、HAVING 和 JOIN 子句一起使用。這個函數類似於 MySQL 中的 CONVERT() 函數。
以下是此函數完美適用的數據類型:
數據類型 | 說明 |
---|---|
DATE | 它將值轉換為 "YYYY-MM-DD" 格式的 DATE 數據類型。它支持 '1000-01-01' 到 '9999-12-31' 中的 DATE 範圍。 |
DATETIME | 它將值轉換為“YYYY-MM-DD HH:MM:SS”格式的 DATETIME 數據類型。它支持 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' 的範圍。 |
TIME | 它將值轉換為 "HH:MM:SS" 格式的 TIME 數據類型。它支持 '-838:59:59' 到 '838:59:59' 的時間範圍。 |
CHAR | 它將值轉換為包含固定長度字符串的 CHAR 數據類型。 |
DECIMAL | 它將值轉換為包含十進製字符串的 DECIMAL 數據類型。 |
SIGNED | 它將值轉換為包含有符號 64 位整數的 SIGNED 數據類型。 |
UNSIGNED | 它將值轉換為包含無符號 64 位整數的 UNSIGNED 數據類型。 |
BINARY | 它將值轉換為包含二進製字符串的 BINARY 數據類型。 |
用法
以下是 MySQL 中 CAST() 函數的語法:
CAST(expression AS datatype);
參數說明
此語法接受兩個參數,將在下麵討論:
參數 | 要求 | 說明 |
---|---|---|
Expression | Required | 它是一個將被轉換為另一種特定數據類型的值。 |
Datatype | Required | 它是需要轉換表達式值的值或數據類型。 |
返回值
轉換後,它會返回一個我們想要轉換的數據類型的值。
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() 函數。我們可以直接在 SELECT 語句中使用 CAST 函數。
例子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 函數如何處理表格。讓我們首先創建一個包含以下數據的表 "Orders":
在上表中,我們可以看到 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( )用法及代碼示例
- MySQL CASE()用法及代碼示例
- MySQL CHARACTER_LENGTH()用法及代碼示例
- MySQL CURTIME()用法及代碼示例
- MySQL CURRENT_TIME()用法及代碼示例
- MySQL Convert()用法及代碼示例
- MySQL CONCAT()用法及代碼示例
- MySQL CEILING()用法及代碼示例
- MySQL CONNECTION_ID( )用法及代碼示例
- MySQL CHAR_LENGTH()用法及代碼示例
- MySQL COUNT()用法及代碼示例
- MySQL CONVERT_TZ()用法及代碼示例
- MySQL CONV( )用法及代碼示例
- MySQL COT()用法及代碼示例
- MySQL Count()用法及代碼示例
- MySQL CONVERT( )用法及代碼示例
- MySQL COALESCE( )用法及代碼示例
- MySQL CURDATE()用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL CURRENT_TIMESTAMP()用法及代碼示例
注:本文由純淨天空篩選整理自 MySQL CAST() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。