【发布时间】:2017-04-02 00:54:41
【问题描述】:
我有一个表ConsoleGames,其中所有列的类型都是varchar(50)。当我尝试通过使用查询修改现有数据类型来创建新表 console_games 时:
CREATE TABLE console_games
(
game_rank integer,
game_name varchar(1200),
platform_name varchar(1200),
game_year integer,
genre varchar(200),
publisher varchar(1200),
na_sales float,
eu_sales float,
jp_sales float,
other_sales float
)
INSERT INTO console_games
SELECT *
FROM [dbo].[RAWConsoleGames]
我收到以下错误消息:
消息 245,第 16 级,状态 1,第 17 行
将 varchar 值“SAT”转换为数据类型 int 时转换失败。
当我查看表中的数据时,值“SAT”位于我没有更改数据类型的列中。 'SAT' 值存在于varchar 类型的Platform 列中,我不想将类型更改为int。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
请同时发布
RAWConsoleGames的架构! -
可能两个表的列顺序不同...
-
@mako 没错,但我们为什么要尝试猜测?
-
@GiorgosAltanis 我们只能等他...
-
这里是 ConsoleGames 的架构(rank varchar(5000)、name varchar(50)、Platform varchar(50)、year varchar(50)、genre varchar(200)、publisher varchar(1200) , sales varchar(50), eu_sales varchar(50), jp_sales varchar(50), other_sales varchar(50)
标签: sql-server