问题标签 [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.
teradata - 将 TeraData 用于不太大的应用程序
几个月前,我看到了 TeraData Express Edition。我不知道这个野兽。我想知道它是否仍然带有 Express Edition,以及将这个数据库用于基于 Windows 的中型应用程序是否是一个好主意。
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
sql - 第 n 个结果为 Teradata 结果
我正在尝试创建一个 Teradata SQL 查询,该查询将为每个用户返回第n个按时间顺序排列的访问日期。例如,
WHERE
我尝试了类似下面的方法,但 Teradata 尖叫“子句中不允许使用有序分析函数”。我已经拉了一段时间的头发,但没有取得太大进展。有人见过这个吗?
如果我排除了,where
那么我的结果看起来很有希望......我只是无法提取我需要的东西!
在此先感谢您的帮助!
sql - SQL:让 CTE 只是文字
这是在 teradata 中。
出于许多充分的理由,我想要一个类似下面的东西,我首先制作一个只有文字列表的 CTE,然后可以在后面的语句中引用它:
这是一个非常人为的例子,我知道它在现实中几乎没有应用。但它确实解决了这个问题。
谢谢!
sql - SQL:带有“存在”的 case-when 语句
我希望能够设置添加一个字段来回答“对于此记录中的值,该值是否满足另一个表中的某些条件?”的问题。我想我会尝试case-when
使用a exists
,但 Teradata(我的 dbms)不喜欢它。有什么建议吗?
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 设置,请分享一下?
提前致谢。
sql - 如何过滤掉 teradata 文本字段中的非数字值?
o我有一个 teradata 表,其中包含大约 1000 万条记录,它将数字 id 字段存储为 varchar。我需要将此字段中的值传输到另一个表中的 bigint 列,但我不能简单地说 cast(id_field as bigint) 因为我收到无效字符错误。查看这些值,我发现字符串中的任何位置都可能有一个字符,所以假设字符串是 varchar(18) 我可以像这样过滤掉无效行:
那么演员阵容会起作用,但从长远来看这是不可行的。它很慢,如果字符串有 18 个可能的字符,它会使查询不可读。如果不单独检查每个字符以查找非数字字符数组,我如何过滤掉该字段中具有不会强制转换为 bigint 的值的行?
示例值是
这些值不遵循特定的模式,我只需要过滤掉那些包含任何非数字数据的值。123456789 可以,但 123.abc_c3865 不行...
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。
任何线索/指针将不胜感激。谢谢!!!
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...
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 设置?