MySQL是一種關聯式資料庫管理系統,具有廣泛的應用場景。在處理資料時,經常需要進行不同格式之間的轉換。 MySQL提供了許多轉換函數,可以將資料從一種格式轉換成另一種格式。本文將介紹MySQL的轉換函數,並以實例進行說明。
一、CAST函數
CAST函數用於將一個資料型別轉換成另一個資料型別。其基本語法為:
CAST(expr AS type)
其中,expr是轉換的表達式,type是目標資料型態。 MySQL支援的資料類型如下:
以下是一些範例:
-- 將字串轉換成整數
SELECT CAST('123' AS SIGNED);
-- 將整數轉換成字串
SELECT CAST(123 AS CHAR);
#-- 將日期轉換成字串
SELECT CAST(NOW() AS CHAR);
-- 將字串轉換成日期
SELECT CAST('2022-10-01' AS DATE);
二、CONVERT函數
CONVERT函數也用來將一個資料型別轉換成另一個資料型別,其語法與CAST函數類似:
CONVERT(expr, type)
其中,expr是被轉換的表達式,type是目標資料型態。需要注意的是,CONVERT函數可以指定字元集和排序規則,這在處理多語言資料時非常有用。例如:
-- 將字串轉換成UTF8編碼的字串
SELECT CONVERT('中國', CHAR CHARACTER SET utf8);
-- 將字串轉換成GBK編碼的字串
SELECT CONVERT('中國', CHAR CHARACTER SET gbk);
-- 將字串轉換成二進位形式,並指定排序規則
SELECT CONVERT('中國', BINARY) COLLATE utf8_bin;
三、DATE_FORMAT函數
DATE_FORMAT函數用於將日期時間類型轉換成指定格式的字串。其語法如下:
DATE_FORMAT(date, format)
其中,date是日期時間類型的表達式,format是字串格式。 format字串中可以使用以下佔位符:
以下是一些範例:
-- 將日期時間轉換成年月日格式
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d');
#-- 將日期時間轉換成月日年格式
SELECT DATE_FORMAT(NOW(), '%m/%d/%Y');
#-- 將日期時間轉換成小時分鐘格式
SELECT DATE_FORMAT(NOW(), '%H:%i');
#四、STR_TO_DATE函數
STR_TO_DATE函數用於將字串轉換成日期時間類型。它需要兩個參數,第一個是被轉換的字串,第二個是目標日期格式。其中日期格式和DATE_FORMAT函數的format參數類似。例如:
-- 將字串轉換成日期類型
SELECT STR_TO_DATE('2022-10-01', '%Y-%m-%d');
- - 將字串轉換成日期時間類型
SELECT STR_TO_DATE('2022-10-01 08:30:00', '%Y-%m-%d %H:%i:%s');
五、IF函數
IF函數常用於判斷表達式的真假,並傳回不同的結果。其基本語法為:
IF(expr1, expr2, expr3)
其中,expr1是被判斷的表達式,如果該表達式為真,則傳回expr2,否則傳回expr3。以下是一些範例:
-- 判斷數值大小,並傳回不同字串
SELECT IF(10 > 5, '10大於5', '10小於等於5');
-- 判斷字串相等,並傳回不同字串
SELECT IF('abc' = 'abc', '字串相等', '字串不相等');
- - 判斷日期大小,並傳回不同字串
SELECT IF('2022-10-01' > '2022-01-01', '10月1日晚於1月1日', '10月1日早於1月1日');
總結:
MySQL的轉換函數非常強大,可以用來完成各種資料格式的轉換。本文介紹了CAST、CONVERT、DATE_FORMAT、STR_TO_DATE和IF函數的基本用法,並給了一些實例,希望讀者能夠掌握這些函數,更好地處理MySQL中的資料。
以上是mysql轉換函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!