问题标签 [teradata]

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 投票
2 回答
554 浏览

teradata - 将 TeraData 用于不太大的应用程序

几个月前,我看到了 TeraData Express Edition。我不知道这个野兽。我想知道它是否仍然带有 Express Edition,以及将这个数据库用于基于 Windows 的中型应用程序是否是一个好主意。

0 投票
1 回答
2596 浏览

sql - 如何按 teradata 中的日期范围更新行

我在 teradata 数据库中有两个表,看起来像这样

拖欠代码列填充在帐户中,但未填充在付款中。我想使用基于 date_updated_last 和 statement_date 的拖欠代码更新付款。问题是 statement_date 是连续的,假设一个给定的帐户是在 2009 年 7 月开设的,从那时到现在,每个月都会有一个记录,但是只有在信息发生变化时才会添加一个帐户记录,所以可能会有,对于例如,同一帐户的帐户表中只有 3 条记录。比如说,2009 年 8 月、2010 年 1 月和 2010 年 3 月。所以我想用 2009 年 8 月帐户记录中的数据更新 2009 年 8 月到 2010 年 1 月之间的所有付款记录。谁能指出一个简单的方法来做到这一点?

谢谢你 :)

-C

0 投票
3 回答
5120 浏览

sql - 第 n 个结果为 Teradata 结果

我正在尝试创建一个 Teradata SQL 查询,该查询将为每个用户返回第n个按时间顺序排列的访问日期。例如,

WHERE我尝试了类似下面的方法,但 Teradata 尖叫“子句中不允许使用有序分析函数”。我已经拉了一段时间的头发,但没有取得太大进展。有人见过这个吗?

如果我排除了,where那么我的结果看起来很有希望......我只是无法提取我需要的东西!

在此先感谢您的帮助!

0 投票
2 回答
911 浏览

sql - SQL:让 CTE 只是文字

这是在 teradata 中。

出于许多充分的理由,我想要一个类似下面的东西,我首先制作一个只有文字列表的 CTE,然后可以在后面的语句中引用它:

这是一个非常人为的例子,我知道它在现实中几乎没有应用。但它确实解决了这个问题。

谢谢!

0 投票
4 回答
20780 浏览

sql - SQL:带有“存在”的 case-when 语句

我希望能够设置添加一个字段来回答“对于此记录中的值,该值是否满足另一个表中的某些条件?”的问题。我想我会尝试case-when使用a exists,但 Teradata(我的 dbms)不喜欢它。有什么建议吗?

0 投票
1 回答
486 浏览

windows - Windows 或 Unix 上的 Teradata FastLoad Inmod 编译

我有一个 inmod 用于处理一个文件记录并消除一些不需要的行,然后将记录提供给 fastload 实用程序。但是我找不到正确的方法来编译和使用它。我的 windows macine 上安装了 GCC(GNU C 编译器)和 TCC(Tiny C 编译器),并且还安装了 Fastload 实用程序。我尝试将代码编译成 DLL,并使用以下命令成功。

gcc -c mydll.c gcc -shared -o mydll.dll mydll.o

但我不知道接下来会发生什么......

我是否必须以单独的方式编译它,我是否需要将它链接到某个地方的快速加载?

我还有一台装有 Fastload 和 GCC 的 unix 机器。所以如果你曾经在 unix 上做过 inmod 设置,请分享一下?

提前致谢。

0 投票
8 回答
27957 浏览

sql - 如何过滤掉 teradata 文本字段中的非数字值?

o我有一个 teradata 表,其中包含大约 1000 万条记录,它将数字 id 字段存储为 varchar。我需要将此字段中的值传输到另一个表中的 bigint 列,但我不能简单地说 cast(id_field as bigint) 因为我收到无效字符错误。查看这些值,我发现字符串中的任何位置都可能有一个字符,所以假设字符串是 varchar(18) 我可以像这样过滤掉无效行:

那么演员阵容会起作用,但从长远来看这是不可行的。它很慢,如果字符串有 18 个可能的字符,它会使查询不可读。如果不单独检查每个字符以查找非数字字符数组,我如何过滤掉该字段中具有不会强制转换为 bigint 的值的行?

示例值是

这些值不遵循特定的模式,我只需要过滤掉那些包含任何非数字数据的值。123456789 可以,但 123.abc_c3865 不行...

0 投票
3 回答
2548 浏览

java - 从 teradata 读取特殊字符时出现问题 - JDBC

我使用 teradata,当使用 teradata 客户端运行时,以下查询输出“Altlüd”。

然而,当我尝试使用 java 客户端(带有 teradata 驱动程序的 jdbc)执行查询时,我得到“Altl?d”作为输出。我正在使用“UTF-8”字符集,我也尝试过拉丁字符集,但没有运气。

我也试过这个来解决问题。

输出是

Altl?dersdorf 65 = A 108 = l 116 = t 108 = l 65533 = ? 100 = d

如果您查看生成的输出,spl 字符的 int 值是 65533,这不应该是这种情况。

事实上,它为所有特殊字符返回 65533。

任何线索/指针将不胜感激。谢谢!!!

0 投票
1 回答
1325 浏览

sql - sql macro parameter

This is on Teradata specifically, but in general, is it possible for a macro to accept a list as a parameter? E.g.,

...and then...

0 投票
2 回答
2670 浏览

spring - 使用 Spring 和 Apache DataSource 的 Teradata 驱动程序的 JDBC 重新连接问题

我将 Apache BasicDataSource 用于公共 DBCP 和连接池:

并通过 Spring 管理它:

如果我的数据库出现故障或出现网络故障,则在将此组合与 Teradata JDBC 驱动程序结合使用时,我会收到以下错误:

08S01 804:I/O 错误,套接字关闭。数据包流写入错误

这正确反映了情况,但问题在于重新连接。当错误被物理解决或数据库恢复并且我的程序尝试查询它时,我仍然会在一段时间内收到相同的错误,例如 20 分钟、几小时、从不。当我重新启动 JVM 或更改连接字符串(例如使用 IP 地址而不是主机名)时,问题就会消失。

DataSource 或 Spring Transaction Manager 中是否有任何设置可以纠正这个问题?或者可能是 TCP/IP 设置?