在MySQL中,我們有一些函數可以將字符類型的數據轉換為數字類型,下面我們介紹一些常用的函數。
1. CAST函數 語法:CAST(expression AS type) 該函數將expression轉換為指定的type類型。type可以是一個整數類型,小數類型,日期類型,字符類型等。例如: SELECT CAST('123' AS UNSIGNED INTEGER); -- 輸出結果為123 SELECT CAST('12.34' AS DECIMAL(5,2)); -- 輸出結果為12.34 2. CONVERT函數 語法:CONVERT(expression, type) 該函數將expression轉換為指定的type類型。type可以是一個整數類型,小數類型,日期類型,字符類型等。例如: SELECT CONVERT('123', UNSIGNED INTEGER); -- 輸出結果為123 SELECT CONVERT('12.34', DECIMAL(5,2)); -- 輸出結果為12.34
在使用這些函數時,需要注意一些細節:
1. 字符串必須符合數值格式,否則會返回NULL或0,例如: SELECT CAST('abc' AS UNSIGNED INTEGER); -- 輸出結果為0 SELECT CAST('12.3.4' AS DECIMAL(5,2)); -- 輸出結果為NULL 2. 參數必須有類型,否則會報錯,例如: SELECT CAST('123'); -- 報錯 SELECT CAST('123' AS ''; -- 報錯 3. CAST和CONVERT函數的性能差異不大,因此可根據實際情況而定。但需要注意的是,在將一個類型轉換為另一個類型時,應使用CAST函數。