首頁 > 軟體

Mysql CONVERT函數的具體使用

2022-08-12 14:05:17

CONVERT函數用於將值轉換為指定的資料型別或字元集

1.轉換指定字元集

CONVERT函數用於將字串expr的字元集變成transcoding_name

語法結構

CONVERT(expr USING transcoding_name)

expr: 要轉換的值

transcoding_name: 要轉換成的字元集 

-- utf8mb4
SELECT CHARSET('ABC');
-- gbk
SELECT CHARSET(CONVERT('ABC' USING gbk));

2.轉換指定資料型別

CONVERT函數用於將字串expr的字元集變成transcoding_name

語法結構

CONVERT(expr,type)

expr: 要轉換的值

type: 要轉換為的資料型別 

type引數取值

描述
DATE將expr轉換成'YYYY-MM-DD'格式
DATETIME將expr轉換成'YYYY-MM-DD HH:MM:SS'格式
TIME將expr轉換成'HH:MM:SS'格式
CHAR將expr轉換成CHAR(固定長度的字串)格式
SIGNED將expr轉換成INT(有符號的整數)格式
UNSIGNED將expr轉換成INT(無符號的整數)格式
DECIMAL將expr轉換成FLOAT(浮點數)格式
BINARY將expr轉換成二進位制格式

範例

1.將值轉換為DATE資料型別

-- 2022-05-25
SELECT CONVERT('2022-05-25', DATE);
-- 2022-05-25 17:58:48
SELECT NOW();
-- 2022-05-25
SELECT CONVERT(NOW(), DATE);

2.將值轉換為DATETIME資料型別

-- 2022-05-25 00:00:00
SELECT CONVERT('2022-05-25', DATETIME);

3.將值轉換為TIME資料型別

-- 14:06:10
SELECT CONVERT('14:06:10', TIME);
-- 2022-05-25 17:25:12
SELECT NOW();
-- 17:25:12
SELECT CONVERT(NOW(), TIME);

4.將值轉換為CHAR資料型別 

-- '150'
SELECT CONVERT(150, CHAR);
-- 出錯Error
SELECT CONCAT('Hello World',437));
-- 'Hello World437'
SELECT CONCAT('Hello World',CONVERT(437, CHAR));

5.將值轉換為SIGNED資料型別

-- 5
SELECT CONVERT('5.0', SIGNED);
-- 2
SELECT (1 + CONVERT('3', SIGNED))/2;
-- -5
SELECT CONVERT(5-10, SIGNED);
-- 6
SELECT CONVERT(6.4, SIGNED);
-- -6
SELECT CONVERT(-6.4, SIGNED);
-- 7
SELECT CONVERT(6.5, SIGNED);
-- -7
SELECT CONVERT(-6.5, SIGNED);

6.將值轉換為UNSIGNED資料型別

-- 5
SELECT CONVERT('5.0', UNSIGNED);
-- 6
SELECT CONVERT(6.4, UNSIGNED);
-- 0
SELECT CONVERT(-6.4, UNSIGNED);
-- 7
SELECT CONVERT(6.5, UNSIGNED);
-- 0
SELECT CONVERT(-6.5, UNSIGNED);

7.將值轉換為DECIMAL資料型別 

-- 9
SELECT CONVERT('9.0', DECIMAL);
 
-- DECIMAL(數值精度,小數點保留長度)
-- DECIMAL(10,2)可以儲存最多具有8位元整數和2位小數的數位
-- 精度與小數位數分別為10與2
-- 精度是總的數位位數,包括小數點左邊和右邊位數的總和
-- 小數位數是小數點右邊的位數
-- 9.50
SELECT CONVERT('9.5', DECIMAL(10,2));
-- 99999999.99
SELECT CONVERT('1234567890.123', DECIMAL(10,2));
-- 220.232
SELECT CONVERT('220.23211231', DECIMAL(10,3));
-- 220.232
SELECT CONVERT(220.23211231, DECIMAL(10,3));

CAST函數也能夠實現資料型別轉換 

補充資料 | CAST函數

到此這篇關於Mysql CONVERT函數的具體使用的文章就介紹到這了,更多相關Mysql CONVERT函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com