📜  将 VARCHAR 转换为 INT 的 SQL 查询(1)

📅  最后修改于: 2023-12-03 15:39:13.675000             🧑  作者: Mango

将 VARCHAR 转换为 INT 的 SQL 查询

在某些情况下,我们需要将存储为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查询。在执行此查询之前,请确保要转换的列中只包含数字字符。