Win7 上 Aginity 工作台对 IBM netezza SQL 数据库的 SQL 查询错误

Posted

技术标签:

【中文标题】Win7 上 Aginity 工作台对 IBM netezza SQL 数据库的 SQL 查询错误【英文标题】:Error of SQL query on IBM netezza SQL database from Aginity workbench on Win7 【发布时间】:2014-12-05 21:10:27 【问题描述】:

我需要在 win7 上的 Aginity 工作台上对 IBM netezza sql 数据库进行 sql 查询。

我的查询:

 SELECT *
 from table1 AS c , 
      table2 AS  b
where  CAST(c.id as int) = b.id

在 table1 中,id 是字符变量(20),而在 table2 中,id 是 int。

Table1: 

 id    value1        value2
'985'  'casdqwdc'   '654.3184'  // they are all char

Table2: 

id    value1        
985   694381   // id is int, value1 is int

我收到错误:

  ERROR [HY000] ERROR:  pg_atoi: error in "id": can't parse "id"

任何帮助将不胜感激。

【问题讨论】:

请您提供表格架构。 【参考方案1】:

table1 的列 ID 中某处有一个值无法转换为整数。

基于该错误,您可能使用 nzload 或外部表加载了一个数据文件,该数据文件的标题行带有列标签而不跳过该行,并且您在列 ID 中有 1 行的值为“ID” .

TESTDB.ADMIN(ADMIN)=> select CAST('ID' as int);
ERROR:  pg_atoi: error in "ID": can't parse "ID"

【讨论】:

这个或其他解决方案是否能帮助您解决问题?

以上是关于Win7 上 Aginity 工作台对 IBM netezza SQL 数据库的 SQL 查询错误的主要内容,如果未能解决你的问题,请参考以下文章

在 IBM netezza aginity 工作台中更改表名的错误

将 47G 数据文件从 Aginity 工作台导入 IBM netezza 数据库时出错

无法从 C# VS2013 访问 IBM Netezza 服务器,但在 IBM Aginity 工作台中运行良好

如何从 Aginity 工作台检查在 IBM Netezza SQL 中处理表的数据和时间?

如何从 Aginity 工作台检查在 IBM Netezza SQL 中创建表的数据和时间

在 IBM netezza aginity sql 数据库工作台中导出大表时如何添加列名