在MySQL中,將字符串轉換為數字可以使用CST或CONVERT函數。本文將介紹如何使用這兩個函數將字符串轉換為數字,并給出一些示例。
1. 使用CST函數將字符串轉換為數字
CST函數可以將一個字符串轉換為指定的數據類型,如下面的示例所示
SELECT CST('123' S UNSIGNED); -- 輸出 123
在這個示例中,我們將字符串'123'轉換為UNSIGNED類型的整數。在CST函數中,我們需要指定要轉換的字符串和目標數據類型。
如果要將字符串轉換為有符號整數,可以使用SIGNED數據類型
SELECT CST('-123' S SIGNED); -- 輸出 -123
如果需要將字符串轉換為浮點數,則可以使用DECIML或DOUBLE數據類型
SELECT CST('3.14' S DECIML(5,2)); -- 輸出 3.14
在這個示例中,我們將字符串'3.14'轉換為DECIML類型的浮點數,其中5是總位數,2是小數位數。
2. 使用CONVERT函數將字符串轉換為數字
CONVERT函數與CST函數類似,可以將一個字符串轉換為指定的數據類型。下面是一個示例
SELECT CONVERT('123', UNSIGNED); -- 輸出 123
在這個示例中,我們將字符串'123'轉換為UNSIGNED類型的整數。在CONVERT函數中,我們需要指定要轉換的字符串和目標數據類型。
與CST函數不同的是,CONVERT函數還可以指定字符集和排序規則。例如,如果要將一個UTF-8編碼的字符串轉換為GBK編碼的字符串,可以使用如下語句
SELECT CONVERT('你好', CHRCTER SET GBK); -- 輸出 ??
在這個示例中,我們將UTF-8編碼的字符串'你好'轉換為GBK編碼的字符串。注意,由于GBK編碼不支持中文字符,所以輸出結果為兩個問號。
在MySQL中,將字符串轉換為數字可以使用CST或CONVERT函數。使用這兩個函數時,需要指定要轉換的字符串和目標數據類型。如果需要指定字符集和排序規則,可以使用CONVERT函數。