當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


MySQL CAST()用法及代碼示例


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);

輸出

MySQL CAST() Function

例子2

此語句將值轉換為 SIGNED 數據類型。

SELECT CAST(3-6 AS SIGNED);

輸出

MySQL CAST() Function

例子3

此語句將值轉換為 UNSIGNED 數據類型。

SELECT CAST(3-6 AS UNSIGNED);

輸出

MySQL CAST() Function

示例 4

有時需要將字符串顯式轉換為整數,使用以下語句將值轉換為 INTEGER 數據類型。

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

輸出

MySQL CAST() Function

例 5

以下語句首先將整數值轉換為字符串數據類型,然後與另一個指定的字符串執行連接。

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

輸出

MySQL CAST() Function

例 6

在這個例子中,我們將看到 CAST 函數如何處理表格。讓我們首先創建一個包含以下數據的表 "Orders":

MySQL CAST() Function

在上表中,我們可以看到 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() Function



相關用法


注:本文由純淨天空篩選整理自 MySQL CAST() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。