📅  最后修改于: 2023-12-03 15:39:13.675000             🧑  作者: Mango
在某些情况下,我们需要将存储为VARCHAR的数据转换为INT类型,这时我们可以使用SQL查询。下面是使用CAST函数将VARCHAR转换为INT的示例:
SELECT CAST(column_name AS INT) FROM table_name;
其中,column_name是需要转换为INT类型的列名;table_name是包含该列的表名。
需要注意的是,如果要执行此查询,则表中的每个记录必须符合INT数据类型的要求,即仅包含数值字符。否则,将会抛出以下错误:
Error converting data type varchar to int.
因此,在执行查询之前,请确保要转换的列中只包含数字字符。
假设我们有一个包含以下数据的表:
id | age
----|------
1 | 23
2 | 35
3 | 28
4 | 33
5 | 30
6 | 2a
7 | 29
8 | 31
9 | 27
其中,id列是INT类型,age列是VARCHAR类型。如果我们想将age列转换为INT类型,并将每个数字列放大2倍,则可以使用以下查询:
SELECT
id,
CAST(age AS INT) * 2 AS age
FROM
my_table;
查询结果如下:
id | age
---|-----
1 | 46
2 | 70
3 | 56
4 | 66
5 | 60
6 | NULL
7 | 58
8 | 62
9 | 54
需要注意的是,由于age列中包含非数字字符,因此第6行的查询结果为NULL。
在需要将VARCHAR类型的数据转换为INT类型时,我们可以使用CAST函数执行SQL查询。在执行此查询之前,请确保要转换的列中只包含数字字符。