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);
輸出
例子2
當我們執行該語句時,它會將值轉換為 UNSIGNED 數據類型。
SELECT CONVERT(4-7, UNSIGNED);
輸出
例子3
當我們執行該語句時,它會將值轉換為 SIGNED 數據類型。
SELECT CONVERT(CONVERT(4-7, UNSIGNED), SIGNED);
輸出
示例 4
當我們執行該語句時,它會將字符串值轉換為 utf8mb4 字符集。
SELECT CONVERT('javatpoint' USING utf8mb4);
輸出
例 5
有時需要在不同字符集之間轉換字符串。在這種情況下,我們使用以下語句進行轉換:
SELECT CONVERT('javatpoint', CHAR CHARACTER SET utf8mb4);
輸出
例 6
以下語句首先將整數值轉換為字符串數據類型,然後與另一個指定的字符串執行連接。
SELECT CONCAT('CONVERT Function Example ## ',CONVERT(5, CHAR));
輸出
例 7
在這個例子中,我們將看到 CONVERT 函數如何處理表格。讓我們首先創建一個表 "Orders",其中包含以下數據:
在上表中,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);
我們將得到以下輸出:
CAST 和 CONVERT 函數的區別
下表總結了 CAST 函數和 CONVERT 函數之間的主要區別:
SN | CAST() 函數 | CONVERT() 函數 |
---|---|---|
1. | 我們使用它來將一種數據類型轉換為另一種數據類型。 | 我們使用它來將一種數據類型轉換為另一種數據類型。 |
2. | 它不能讓我們轉換字符集。 | 它可用於轉換字符集。 |
3. | 它是 ANSI-SQL 規範的一部分。 | 它不是 ANSI-SQL 規範的一部分。 |
4. | 它使用 "AS" 來分隔參數。 | 它使用 "comma(,)" 或 "USING" 來分隔參數。 |
相關用法
- MySQL Count()用法及代碼示例
- MySQL CHARACTER_LENGTH()用法及代碼示例
- MySQL CURTIME()用法及代碼示例
- MySQL CURRENT_TIME()用法及代碼示例
- MySQL CONCAT()用法及代碼示例
- MySQL CEILING()用法及代碼示例
- MySQL CONNECTION_ID( )用法及代碼示例
- MySQL CHAR_LENGTH()用法及代碼示例
- MySQL COUNT()用法及代碼示例
- MySQL CONVERT_TZ()用法及代碼示例
- MySQL CONV( )用法及代碼示例
- MySQL COT()用法及代碼示例
- MySQL CONVERT( )用法及代碼示例
- MySQL COALESCE( )用法及代碼示例
- MySQL CAST( )用法及代碼示例
- MySQL CURDATE()用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL CASE()用法及代碼示例
- MySQL CURRENT_TIMESTAMP()用法及代碼示例
- MySQL CAST()用法及代碼示例
注:本文由純淨天空篩選整理自 MySQL Convert() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。