2024年07月28日 MySQL 转换为 Int 数据类型 极客笔记
在MySQL中,数据类型是定义列所需的数据类型的约定。在某些情况下,我们可能需要将不同类型的数据转换为不同类型以满足数据分析或计算需求。在本文中,我们将重点讨论如何将不同数据类型转换为整数类型(Int)。
在MySQL中,有几种整数类型可供选择,每种类型适用于不同范围的整数。以下是MySQL中一些常见的整数类型:
TINYINT
:范围为-128到127(有符号)或0到255(无符号)SMALLINT
:范围为-32768到32767(有符号)或0到65535(无符号)MEDIUMINT
:范围为-8388608到8388607(有符号)或0到16777215(无符号)INT
:范围为-2147483648到2147483647(有符号)或0到4294967295(无符号)BIGINT
:范围为-9223372036854775808到9223372036854775807(有符号)或0到18446744073709551615(无符号)CAST
函数在MySQL中,可以使用CAST
函数将不同数据类型转换为整数类型。以下是一些示例:
INT
SELECT CAST('42' AS SIGNED);
执行上述查询将字符串'42'
转换为有符号整数。
BIGINT
SELECT CAST('123456789' AS SIGNED);
执行上述查询将字符串'123456789'
转换为有符号大整数。
CONVERT
函数除了CAST
函数外,您还可以使用CONVERT
函数将数据转换为整数类型。以下是一些示例:
INT
SELECT CONVERT('42', SIGNED);
执行上述查询将字符串'42'
转换为有符号整数。
BIGINT
SELECT CONVERT('123456789', SIGNED);
执行上述查询将字符串'123456789'
转换为有符号大整数。
现在,让我们看一些实际的示例,演示如何在MySQL中执行转换操作。
假设我们有一个表employees
,其中有一个列age
存储为字符串。我们想将这些字符串转换为整数以进行计算。
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
age VARCHAR(3)
);
INSERT INTO employees (id, name, age) VALUES (1, 'Alice', '25');
INSERT INTO employees (id, name, age) VALUES (2, 'Bob', '30');
INSERT INTO employees (id, name, age) VALUES (3, 'Charlie', '35');
现在,我们将查询employees
表并将age
列转换为整数。
SELECT id, name, CAST(age AS SIGNED) AS age
FROM employees;
执行上述查询将返回每个员工的ID,姓名和年龄的整数表示。
假设我们有另一个表products
,其中有一个列price
存储为浮点数。我们想将这些浮点数转换为整数以进行计算。
CREATE TABLE products (
id INT PRIMARY KEY,
name VARCHAR(50),
price FLOAT
);
INSERT INTO products (id, name, price) VALUES (1, 'Apple', 1.99);
INSERT INTO products (id, name, price) VALUES (2, 'Banana', 0.99);
INSERT INTO products (id, name, price) VALUES (3, 'Orange', 2.49);
现在,我们将查询products
表并将price
列转换为整数。
SELECT id, name, CAST(price AS SIGNED) AS price
FROM products;
执行上述查询将返回每个产品的ID,名称和价格的整数表示。
在执行数据类型转换时,需要注意以下事项:
在本文中,我们探讨了如何将不同数据类型转换为整数类型(Int)在MySQL中执行转换操作。我们介绍了使用CAST
函数和CONVERT
函数的示例,并提供了一些注意事项。
本文链接:http://so.lmcjl.com/news/9381/