提问人:stats_noob 提问时间:12/17/2021 最后编辑:stats_noob 更新时间:6/10/2022 访问量:170
内部联接期间的 SQL 错误:“无法解析pg_atoi”
SQL Error during Inner Join: "pg_atoi could not be parsed"
问:
我尝试编写以下代码:
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" ;
突然间,代码工作正常!
我的问题:
有谁知道“pg_atoi错误”指的是什么(我找到了一些链接,但我不确定我是否理解它们,例如 https://community.microstrategy.com/s/article/KB42250-quot-ERROR-pg-atoi-error-in-quot-2011-01-quot-cant-parse?language=en_US)?
有谁知道为什么添加可以解决问题?
'' ||
一般来说,有人可以告诉我这个错误是关于什么的,为什么会产生它以及如何修复它?我使用的答案是否合法地修复了此错误?
谢谢!
答:
1赞
Krzysztof Dusko
12/30/2021
#1
试试这个 table_1。var_1“::char(200)= table_2。var_2“::char(200) 加入。 这是由wront自动铸造引起的。 整数 ||'' = varchar。问题 thay 您正在尝试将文本与数字进行比较(其中一个列是数字,另一个是 i 文本)。 还有更多,如果文本 xolumn 中的所有数据都可以转换为数字,则不会出现此错误。(这就是为什么使用不同的数据加入泰尔斯是危险的)
下一个:R:直接在服务器上创建表
评论