1. CAST(str AS type) 2. CONVERT(str, type) 3. ABSOLUTE(value) 4. MOD(N, M)
1. CAST(str AS type)
将字符串转换为指定类型的数值,type可以指定为以下类型:
SIGNED INTEGER UNSIGNED INTEGER DECIMAL[(M[, D])] FLOAT[(M,D)] DOUBLE[(M,D)] REAL[(M,D)]
例如:
SELECT CAST('123' AS SIGNED INTEGER); -- 输出:123 SELECT CAST('123.45' AS FLOAT(5, 2)); -- 输出:123.45
2. CONVERT(str, type)
将字符串转换为指定类型的数值,type可以指定为以下类型:
BINARY[(N)] CHAR[(N)] DATE DATETIME DECIMAL[(M[, D])] SIGNED INTEGER UNSIGNED INTEGER TIME UNSIGNED INTEGER
例如:
SELECT CONVERT('123.45', UNSIGNED INTEGER); -- 输出:123 SELECT CONVERT('2020-01-01', DATETIME); -- 输出:2020-01-01 00:00:00
3. ABSOLUTE(value)
返回value的绝对值,如果value是字符串,会尝试将其转换为数值再进行计算。
例如:
SELECT ABSOLUTE('-123.45'); -- 输出:123.45
4. MOD(N, M)
返回N除以M的余数,如果N或M是字符串,会尝试将其转换为数值再进行计算。
例如:
SELECT MOD('10', '3'); -- 输出:1
综上所述,MySQL 提供了多种实现字符串转数字的函数,开发人员可以根据实际需求选择合适的函数。