在MySQL中,字符串和數字是兩種不同的數據類型。如果我們需要在查詢或計算中將字符串字段轉換為數字字段,可以使用MySQL函數convert()或cast()。
使用convert()函數:
SELECT CONVERT('123', UNSIGNED INTEGER); -- 將字符串'123'轉換為無符號整數類型
使用cast()函數:
SELECT CAST('456' AS SIGNED INTEGER); -- 將字符串'456'轉換為有符號整數類型
需要注意的是,如果字符串中包含非數字字符,使用convert()或cast()會返回0。我們可以使用函數replace()將字符串中的非數字字符替換為空格或0,再使用convert()或cast()轉換為數字字段。
代碼示例:
SELECT CONVERT(REPLACE('12a3b', 'a', ''),'UNSIGNED INTEGER'); -- 將字符串'12a3b'中的'a'替換為空格后,轉換為無符號整數類型 SELECT CAST(REPLACE('45c6d', 'c', '0'), 'SIGNED INTEGER'); -- 將字符串'45c6d'中的'c'替換為0后,轉換為有符號整數類型
上一篇mysql字符串子串函數
下一篇mysql 最大數據條數