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


MySQL Convert()用法及代碼示例


MySQL 中的 CONVERT() 函數用於將值從一種數據類型轉換為表達式中指定的另一種數據類型。 MySQL 還允許將指定值從一種字符集轉換為不同的字符集。

以下是此函數完美適用的數據類型:

數據類型 說明
DATE 它將值轉換為僅負責日期部分的 DATE 數據類型。它總是產生 "YYYY-MM-DD" 格式。它支持 '1000-01-01' 到 '9999-12-31' 中的 DATE 範圍。
DATETIME 它將值轉換為負責日期和時間部分的 DATETIME 數據類型。它總是產生“YYYY-MM-DD HH:MM:SS”格式。它支持 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59' 的範圍。
TIME 它將值轉換為僅負責時間部分的 TIME 數據類型。它總是產生 "HH:MM:SS" 格式。它支持 '-838:59:59' 到 '838:59:59' 的時間範圍。
CHAR 它將值轉換為 CHAR 數據類型,該數據類型具有固定長度的字符串。
SIGNED 它將一個值轉換為 SIGNED 數據類型,它具有有符號 64 位整數。
UNSIGNED 它將一個值轉換為 UNSIGNED 數據類型,它具有無符號 64 位整數。
DECIMAL 它將一個值轉換為具有十進製字符串的 DECIMAL 數據類型。
BINARY 它將值轉換為具有二進製字符串的 BINARY 數據類型。

用法

以下是 MySQL 中 CONVERT() 函數的語法:

CONVERT(expression, datatype);
OR,
CONVERT(expression USING character_set);

參數說明

此語法接受以下參數,這些參數將在下麵討論:

參數 要求 說明
expression Required 它是將被轉換為另一種特定數據類型的指定值。
datatype Required 它指定了我們想要轉換的所需數據類型。
character_set Required 它指定了我們想要轉換的所需字符集。

返回值

它將返回一個我們想要轉換的數據類型或字符集的值。

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 CONVERT() 函數。我們可以直接將 CONVERT 函數與 SELECT 語句一起使用。

例子1

當我們執行該語句時,它會將值轉換為 DATETIME 數據類型。

SELECT CONVERT("2018-11-30", DATETIME);

輸出

MySQL Convert() Function

例子2

當我們執行該語句時,它會將值轉換為 UNSIGNED 數據類型。

SELECT CONVERT(4-7, UNSIGNED);

輸出

MySQL Convert() Function

例子3

當我們執行該語句時,它會將值轉換為 SIGNED 數據類型。

SELECT CONVERT(CONVERT(4-7, UNSIGNED), SIGNED);

輸出

MySQL Convert() Function

示例 4

當我們執行該語句時,它會將字符串值轉換為 utf8mb4 字符集。

SELECT CONVERT('javatpoint' USING utf8mb4);

輸出

MySQL Convert() Function

例 5

有時需要在不同字符集之間轉換字符串。在這種情況下,我們使用以下語句進行轉換:

SELECT CONVERT('javatpoint', CHAR CHARACTER SET utf8mb4);

輸出

MySQL Convert() Function

例 6

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

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

輸出

MySQL Convert() Function

例 7

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

MySQL Convert() Function

在上表中,Order_Date 為 DATE 數據類型。因此,如果我們想在選定的時間範圍內獲取產品名稱,請執行以下語句。

SELECT Order_ID, Product_Name FROM orders 
WHERE Order_Date 
BETWEEN CONVERT('2020-02-01', DATETIME) AND CONVERT('2020-03-10', DATETIME);

我們將得到以下輸出:

MySQL Convert() Function

CAST 和 CONVERT 函數的區別

下表總結了 CAST 函數和 CONVERT 函數之間的主要區別:

SN CAST() 函數 CONVERT() 函數
1. 我們使用它來將一種數據類型轉換為另一種數據類型。 我們使用它來將一種數據類型轉換為另一種數據類型。
2. 它不能讓我們轉換字符集。 它可用於轉換字符集。
3. 它是 ANSI-SQL 規範的一部分。 它不是 ANSI-SQL 規範的一部分。
4. 它使用 "AS" 來分隔參數。 它使用 "comma(,)" 或 "USING" 來分隔參數。




相關用法


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