问题标签 [nzsql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 通过 VBA 连接执行长查询
我正在设置一个自动化的 excel vba 工作簿,它通过查询提取数据,同时从 Excel 单元格中获取参数。
到目前为止,它已经在简单的查询和 SP 上工作,但我试图传递一个很长的查询,似乎 Excel 函数正在将字符串截断为 1043 个字符。
*该查询有 1426 个字符。
我对这个问题采取了 3 种不同的方法。
执行SQL存储过程(来自vba)而不是查询,问题是输入参数之一是一个id列表,它的长度是可变的,并且作为SP参数传递很长,所以它没有工作即使分配
Varchar(Max)
为类型。将查询执行到新表中,并将完整表提取到 excel 中。虽然这确实有效,但需要手动更新 id 列表,因此它的功能不够。
将 SQL 字符串作为字符串连接直接传递给 Excel 函数,但它会引发我认为与字符串截断有关的错误。
我的代码如下:
在 SQL 中粘贴 B2 查询时得到的结果集:
/*
ERROR [42000] ERROR: '...' 'Returns a part of the SQL string */
这里的字符串被截断为 1043 个字符。但是,我使用 pyodbc 从 Python 尝试了相同的方法,并且效果很好。
sql - Netezza 中可以传递 IN 子句的最大参数
在 Netezza 中,可以指定一个 IN 子句,如下所示:(就像 sql)
有谁知道您可以传递给 IN 的最大参数数量是多少?
我知道 Oracle 在 SQL 语句中最多允许 1,000 个 IN 列表值。
stored-procedures - 如何从 Netezza DEFINITION_SCHEMA 复制数据 [忽略 bytea 错误]
我正在尝试分析 Netezza 服务器上存储过程中使用的代码。
第一步是获取存储过程中包含的定义/代码 - 这可以通过以下任一方式轻松完成:
使用系统视图
或使用基表[观点指向此表]
现在,一旦我对 PROCEDURESOURCE 列进行一些分析并尝试将此信息写入表中,我总是会收到以下错误:
错误:IBM Netezza SQL 不支持类型“bytea”
复制此错误的简单方法是执行以下操作
我已经确定 DEFINITION_SCHEMA."_T_PROC" 中有一列 bytea(列名 = PROBIN)
但是,我没有选择此列,所以我不确定为什么会收到此错误
任何人都可以帮助解决如何将 PROCEDURESOURCE 复制到新表中并绕过“bytea”错误
谢谢
date - 如何从具有 YYYYMMDD 和 YYYYMM 格式的日期获取 YYYY 列作为 procces_year 和 MM AS process_month?在 Netezza sql
我在一个名为的列中有一些日期,例如 20190101 (YYYYMMDD) 和 201901 (YYYYMM) ,当我使用时process_date
,我需要两列,一个名为process_year
年份 (YYYY) 和process_month
月份 (MM)的列
格式为 201901 (YYYYMM) 的日期取值“20”,与
取值 '19' 为相同的格式 201901 (YYYYMM)
sql - netezza:无法识别功能
我需要将 Netezza DB 中的数据提取到文本文件中。在这个过程中,我需要 在数据中存在\
之前添加额外的内容。\ or "
当我尝试使用下面提到的 sql 查询时,它正在工作。
但是当我在 shell 脚本中使用相同的查询时,它说函数不存在。
错误:函数“替换(varchar,未知)”不存在。无法识别满足给定参数类型的函数。您可能需要添加显式类型转换```
也试过翻译功能。已显示相同的错误。这是什么错误以及如何解决?
谢谢。
dynamic - 从 _V_SYS_COLUMNS 表中传递列名以在 Netezza 中创建动态选择查询
我需要为 Netezza 中的不同表创建一个动态选择查询。
我使用以下查询获取任何表的列列表:
select * from _V_SYS_COLUMNS where TABLE_NAME='表名'
但我需要附加以逗号分隔的列'Column_Name'的所有值并将其存储到一个变量中:
var= col1,col2,....
然后我将在选择查询中传递这个 'var' 以针对不同的表运行它。
注意:我不能使用 Select * 因为所有列都不是必需的。
netezza - Netezza 从外部文件导入错误:不支持的外部表引用,无法导出形状
我正在从 Netezza 中的外部文件创建一个新表,但出现以下错误:
不受支持的外部表引用,无法派生形状
无论是尝试创建新表还是插入现有表,我都会遇到同样的错误。这是我正在使用的sql:
unix - 如何从 Netezza 表中提取数据到多个 linux 文件
我需要根据记录数从一个 Netezza 表中提取记录到多个文件中。
假设我有一个包含 10K 记录的表“A”,那么我需要在一个文件“001.dat”中提取 3K 记录,在另一个文件“002.dat”中提取另外 3K 记录,依此类推。所以,最后我应该有 4 个文件(3 个文件每个都有 3K 记录,1 个文件有 1K 记录)。
我可以在一个文件中提取所有 10K 记录,然后拆分该文件,但我需要在具有超过 400 亿条记录的表上执行此操作。因此,创建单个文件然后将其拆分为多个块将占用更多服务器空间。
所以,我想知道是否有任何命令行选项(与 nzsql 相关)或程序可以在多个 linux 文件中按顺序提取记录。通过这种方式,我可以在生成文件后立即压缩文件以释放空间。