在mysql中,字符轉(zhuǎn)換數(shù)字是一個非常常見的操作。這里介紹兩種常見的方法。
方法一:使用CAST函數(shù)
SELECT CAST('123' AS UNSIGNED);
結(jié)果為:
+-------------------------+ | CAST('123' AS UNSIGNED) | +-------------------------+ | 123 | +-------------------------+
方法二:使用CONVERT函數(shù)
SELECT CONVERT('123',UNSIGNED);
結(jié)果為:
+----------------------+ | CONVERT('123',UNSIGNED) | +----------------------+ | 123 | +----------------------+
需要注意的是,如果將非數(shù)字字符轉(zhuǎn)換成數(shù)字,將會出現(xiàn)錯誤。
SELECT CAST('abc' AS UNSIGNED);
結(jié)果為:
+--------------------------+ | CAST('abc' AS UNSIGNED) | +--------------------------+ | NULL | +--------------------------+
如果不加轉(zhuǎn)換函數(shù)CAST或CONVERT,那么在做加減乘除運算時,mysql會自動將字符類型轉(zhuǎn)換成數(shù)字類型。
SELECT '123'+1;
結(jié)果為:
+--------+ | '123'+1 | +--------+ | 124 | +--------+
但是需要注意的是,當字符中含有非數(shù)字字符時,會產(chǎn)生錯誤。
SELECT 'abc'+1;
結(jié)果為:
+-------+ | 'abc'+1 | +-------+ | NULL | +-------+