问题标签 [teradata-sql-assistant]

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.

0 投票
1 回答
234 浏览

recursive-query - Teradata 中的递归脚本

我在 Teradata 中有一个表,由以下五个主要列组成:

我想绑定从 type_of_old = 0 的第一个元素开始的旧值 - 新值,并在到达最后一个 type_of_old = 1 时切断边界。最后我想要这个数据:

问题是,元素 B 在不同的更改日期是 A 和 D 的下一个元素。因此,当我使用 WITH RECURSIVE 脚本时,它会绑定 B 的下一个元素,以及 A 和 D 的起始元素。

到目前为止,我编写了这个脚本,但是当它达到 type_of_old = 1 时我无法切断界限

该脚本的数据如下:

我该如何解决?

提前致谢,

问候

0 投票
0 回答
47 浏览

teradata - 跨服务器的 Teradata DDL 比较

如何比较位于不同服务器上的两个表的结构,比如 Teradata 中的 Dev & QA?

0 投票
1 回答
263 浏览

sql - Teradata 中的 instr 函数出错

在 Teradata SQL 中出现错误

得到错误为

无法找到哪个特殊字符或记录在这里造成了麻烦。

0 投票
1 回答
230 浏览

teradata - 使用递归查询聚合周期

我需要将每个组(ID)的顺序事件(标识符为NUM)的重叠周期(由FROM和TO变量定义)与“前瞻缓冲区”合并,这意味着如果下一个周期在缓冲区内开始,它们应该是合并。

例如; 在以下示例中,第二个事件 (NUM = 2) 在时间 13 开始,该时间位于缓冲区 (10 + 5 = 15) 内。

与我发现的其他类似问题相比,这里的棘手部分是,虽然每个事件的缓冲期都有一个固定值,但如果它与具有较长缓冲期的事件(仅向后)合并,这可能会发生变化。

例如; 事件三也合并到与事件一和事件二相同的时期,因为这些事件的缓冲期更长。后面的缓冲区应该是 (25 + 5 = 30),而不是 (25 + 3 = 28),这意味着后面的事件 4 也应该包含在这些时间段中。

再次将事件 4 的缓冲期也改为 5。但是,因为 40 > 31+5,所以最后一个事件是单独观察。

最终,我需要的结果是两个“分离”时期的两个观察结果;

自然地,我最初认为我可以通过创建一个新变量 LOOKAHEAD2 来创建这个“LOOKHEAD”变量,该变量是 LOOKAHEAD2 的先前值和 LOOKAHEAD 的当前值的最大值,条件是 FROM(this record) < (TO + LOOKAHEAD)(previous记录)使用 OLAP 函数。然而,这并没有真正起作用,因为它是对自身的引用......

相反,我尝试使用递归查询,从第一个 event 开始(NUM = 1),然后递归地加入表与下一个 event(root.NUM+1 = next.NUM)条件 on (root.TO + root.LOOKAHEAD > next.FROM),并相应地更新 LOOKAHEAD 变量。

但我以前从未使用过递归查询,我无法让它加入 LOOKAHEAD 值的更新值。

有谁知道如何通过递归查询或其他方式解决这个问题?

0 投票
1 回答
1340 浏览

sql - 将 varchar(20) 转换为日期格式 Teradata SQL

我有一列月份,它是 varchar(20) 。如何将其转换为日期格式。我确实试过这个

为此,我收到为 TABLE_123 提供的错误无效日期。

谢谢你。

0 投票
1 回答
684 浏览

teradata-sql-assistant - 如何在 teradata SQL Assstant 中创建临时表

如何在 teradata SQL 助手中创建临时表?我有一个运行速度很慢的查询,我想通过创建一个临时表来优化它。

我想要的是能够在 Teradata SQL 助手中执行查询时自动删除并重新创建具有相同名称的临时表。任何帮助将不胜感激。

0 投票
0 回答
3688 浏览

teradata - 在 Teradata SQL 中使用 for 循环

我想在 teradata SQL/MACRO 或 PROCEDURE 中执行此操作:

解释:

主要原因 :

table2 非常庞大(10 亿条记录)。

全连接需要太多内存,我们需要创建一个表 table3 包含不相交的 id 列表并在此列表上迭代。

但是,我不确定如何纠正这个 MACRO 以使其正确。

0 投票
2 回答
870 浏览

teradata-sql-assistant - teradata 助手中的 SQL 插入语句

有人可以帮我吗?我想在 Teradata SQL 助手的表中插入数据,但只插入表中不存在的数据。我有一个理想的如何在 Microsoft SQL Server 中做到这一点,但在 teradata 中却没有,因为我是新手。任何帮助将不胜感激。谢谢

0 投票
1 回答
469 浏览

sql - teradata sql优化帮助测试查询

我需要一些有关 teradata sql 优化代码的帮助。我正在运行以下代码只是为了查看它是否返回任何记录。此查询已经运行了 19 分钟。我只需要一个快速查询来查看查询是否有任何结果。如何优化此测试查询?我只需要看看这是否会返回一个月中任何一天的任何结果。看起来主键是 txn_id,表分区是 PRD_END_DT。谢谢你的帮助。

0 投票
1 回答
577 浏览

teradata - 如何获取在 teradata 的表架构中定义的列长度

我需要找到列值的长度与创建表时定义的列长度之间的差异。

例如:我有一个如下表模式。

有价值观

现在我需要输出为

此处剩余空间使用公式(10 - len(name))计算,其中 10 是创建表时定义的列“名称”的最大长度。如何在 Teradata 中实现这一目标?