内部联接期间的 SQL 错误:“无法解析pg_atoi”

SQL Error during Inner Join: "pg_atoi could not be parsed"

提问人:stats_noob 提问时间:12/17/2021 最后编辑:stats_noob 更新时间:6/10/2022 访问量:170

问:

我尝试编写以下代码:

create table new_table as select table_1."var_1", table_2."var_2" from table_1
inner join table_2 on table_1."var_1"= table_2."var_2" ;

但这返回了以下错误(注意:“abc123”是“var_1”中包含的值之一):

pg_atoi: error in "abc123" : can't parse

但是,当我稍微修改上面的代码时:

create table new_table as select table_1."var_1", table_2."var_2" from table_1
inner join table_2 on table_1."var_1"= '' || table_2."var_2" ;

突然间,代码工作正常!

我的问题:

谢谢!

SQL 数据库 分析 联接 数据操作

评论


答:

1赞 Krzysztof Dusko 12/30/2021 #1

试试这个 table_1。var_1“::char(200)= table_2。var_2“::char(200) 加入。 这是由wront自动铸造引起的。 整数 ||'' = varchar。问题 thay 您正在尝试将文本与数字进行比较(其中一个列是数字,另一个是 i 文本)。 还有更多,如果文本 xolumn 中的所有数据都可以转换为数字,则不会出现此错误。(这就是为什么使用不同的数据加入泰尔斯是危险的)