教 程 目 录
Teradata教程
Teradata是一种流行的关系数据库管理系统(RDBMS),适用于大型数据仓库应用程序.它能够处理大量数据,并且具有高度可扩展性.本教程可以很好地理解Teradata Architecture,各种SQL命令,索引概念和导入/导出数据的实用程序.
Audience
本教程是专为愿意学习Teradata概念并成为Teradata开发人员的软件专业人士而设计.在本教程结束时,您将获得Teradata的中级专业知识.
先决条件
您应该对关系概念有基本的了解和基本的SQL.如果您使用过任何其他RDBMS产品,那将是一件好事.
本文地址:https://itbaoku.cn/tutorial/teradata-index.html
相关问答
我试图在64位Linux上构建Perl dbd :: Teradata DBI驱动程序.但是,我没有必要的标题文件.根据文档( http://www.presiticed.com/tdatdbd/),以下以下文件需要: parcel.h dbcarea.h coperr.h coptypes.h 我花了几个小时来搜寻Teradata的网站和整个互联网,但没有成功.我看到提到Cliv2开发人员的套件,但找不到它. 任何人都可以将我指向我可以获得这些文件的地方吗?我会真诚地感谢他们的帮助. 解决方案 我能够从CLIV2 Linux下载中的一个RPM文件中找到标题.我上次错过了第二个rpm文件,所以我找不到文件. 这是下载链接(如Dnoeth在下面的评论中指出): downlations.teradata.com/download/connectivity/cliv2/linux 如果您解压缩油粉球,您会在此rpm中找到标题: cliv2/cliv2-15.00.00.03-1.noarch.rpm 我仍然无法安装rpm,但是我能够将标头拔出我的DBD :: Teradata build: plxc16479> rpm2cpio cliv2/cliv2-15.00.00.03-1.noarch.rpm | cpio -idmv ./opt
)
嗨,我会遇到一个错误,就像eDatediff之间的终点关键字一样( 对于以下声明 select case when CC.CASE_STS_CD in ( 'Closed', 'Auto Closed') then DATEDIFF(second,CC.REC_DTTM_PST,CC.CRT_DTTM_PST) end as CASE_RES_DUR_IN_SECS, 解决方案 假设您的字段是日期数据类型(否则您需要施放): SELECT CASE WHEN CC.CASE_STS_CD IN ('Closed','Auto Closed') THEN (CC.REC_DTTM_PST - CC.CRT_DTTM_PST) * 86400 END AS CASE_RES_DUR_IN_SECS 其他解决方案 Teradata中没有DATEDIFF函数. 这是我几年前写的通用SQL UDF,用于计算两秒钟的时间戳的差异: REPLACE FUNCTION TimeStamp_Diff_Seconds ( ts1 TIMESTAMP(6) ,ts2 TIMESTAMP(6) ) RETURNS DECIMAL(18,6) LANGUAGE SQL CONTAINS SQL RETURNS NULL ON
)
我们目前正在将Teradata客户端从V12升级到V13.为此,Teradata 12的旧装置已从系统中卸载,并安装了TTU13. 安装后,当我尝试使用新的Teradata驱动程序添加ODBC连接时,它给了我以下错误. terasso库中发生的未知错误 任何帮助都将不胜感激. 解决方案 您需要卸载Teradata 12和Teradata 12和Teradata 13.x ODBC驱动程序的Teradata GSS和共享ICU库.一旦所有这些项目都被卸载,请重新启动计算机,然后安装Teradata GSS和共享的Teradata 13.X ICU库,然后安装Teradata 13.x ODBC驱动程序. . 通常,teradata的安装程序包会提示您默默地安装哪些软件包,并为您提供单独禁用静音安装的选项,以便通常静静地安装哪个软件包. 其他解决方案 使用ttuexpress/ttubase升级我的Teradata工具后.Exe ODBC驱动程序也必须使用ttuexpress/ttu_dbm.exe 升级 在此之前 -SQL助手无法连接,给出了一些模糊的混乱. 和 - " ODBC管理员"程序稍微明确稍微明确,"未知错误发生在Terasso库中"消息. 其他解决方案 检查是否有文件夹:\ teradata \ teradata
)
在REGEXP_REPLACE,REGEXP_SIMILAR之类的函数中,我们需要提及与字符串一部分匹配的正则表达式.将正则语法与Java中的Regex遵循相同的语法,或者Teradata对正则表达式具有单独的语法? 解决方案 与PCRE相同(C,Java,PHP,JavaScript). 例如,假设您有很多电子邮件,而您只需要使用 的Web域 SELECT RegExp_Replace(email, '^.*@(.*)', '\1', 1, 0, 'i') FROM emails; 您甚至可以使用以下内容将http://添加到开始时: SELECT RegExp_Replace(email, '^.*@(.*)', 'http://\1', 1, 0, 'i') FROM emails; 其他解决方案 我也有同样的问题,而且由于没有令人满意的答案开始进行调查.根据 posix posix延长的常规常规常规常规常规常规常规常规规则表达(erere)风味. 我试图找出标准TD14.10正在使用的,我发现是 ANSI SQL 2008符合规定.我发现必须是Posix标准 否. 我检查了其他供应商(Oracle),他们有一些供应商 PCRE扩展. [:word:]是posix非标准,但是有些 REGEXP的实现正在理解它.
)
是否有一种方法可以传递变量中的值列表,并在()语句中使用该列表来检查一个值,以相对值列表中传递的字段? 我唯一能想到的就是这样: SELECT field_name WHERE (SELECT INSTR(@variable_list, field_name))>0 谢谢. 解决方案 TD14支持一个名为strtok_split_to_table: 的漂亮表函数 REPLACE MACRO testmac(param VARCHAR(1000)) AS ( SELECT * FROM dbc.DatabasesV AS db JOIN ( SELECT token AS DatabaseName, tokennum FROM TABLE (STRTOK_SPLIT_TO_TABLE(1, :param, ',') RETURNS (outkey INTEGER, -- usually the PK of the table, here it's just a dummy tokennum INTEGER, -- order of the token within the param string token VARCHAR(128) CHARACT
)
有一个旧的堆栈帖子( first-in-infirst-out( fifo)库存成本)包含基于设定的速度phreakery:FIFO库存库存SQL问题:我一直在尝试将其从SQL Server调整为Teradata SQL,但发现了: (a)Teradata只能使用语句 处理一个CTE (b)您不能使用交叉应用 (c)您不能使用提示索引? 我的问题是: 在teradata(挥发性表除外)中是否有替代方案可以绕过(a)? Terdata"交叉加入"与SQL Server中应用的Cross相同? 有人将此脚本适应teradata? 解决方案 您的帖子已有几个月大,但是这对他人也可能很有用. 关于Teradata的开发人员交流有一个类似的问题,当时我想起了几年前将其移植到Teradata.快速搜索其他解决方案将我带到了这篇文章. 由于Teradata对行没有任何界限的支持(Microsoft补充说,在SS2012中): 关于您的问题: a:CTE可以用派生表代替,它只是语法变化. b:交叉/外部应用是SQL Server专有语法,有时可以用[外部]加入来代替,在这种情况下,这只是进行累积总和的一种复杂方法. c:当优化器不做良好计划 时,索引提示应该是最后的度假胜地 SELECT ArticleI
)