在 SQL 中,字符串不能直接转换为整数。为了从字符串中获取整数,需要使用 CAST() 函数或其他字符串操作函数。
CAST() 函数
CAST() 函数可以将字符串转换为其他数据类型,包括整数。语法如下:
CAST(expression AS data_type)
其中:
* expression:要转换的字符串。
* data_type:要转换成的目标数据类型,例如 INT、SMALLINT、BIGINT。
例如,要将字符串 '123' 转换为整数,可以使用以下查询:
SELECT CAST('123' AS INT);
结果为 123。
SUBSTRING() 和 CONVERT() 函数
除了 CAST() 函数之外,还可以使用 SUBSTRING() 和 CONVERT() 函数从字符串中提取整数。SUBSTRING() 函数可以提取字符串中的特定部分,而 CONVERT() 函数可以将字符串转换为数字。
例如,要从字符串 'abc123def' 中提取整数 123,可以使用以下查询:
SELECT CONVERT(SUBSTRING('abc123def', 4, 3), INT);
结果为 123。
注意点
使用 CAST()、SUBSTRING() 或 CONVERT() 函数从字符串中获取整数时,需要注意以下几点:
* 字符串中必须包含有效的整数,否则会出错。
* 字符串中不能包含空格或其他非数字字符,否则会影响转换结果。
* 如果字符串为空,转换结果为 NULL。