Tag: teradata

SQL:比较行中的电子邮件地址,并检索未find的行

我正在使用Teradata系统,其中有一个表(TABLE_NAME),其中有一列email_address_table 。 我有一个Excel表格,其中有一列电子邮件地址。 我试图做的是,检索表中的所有行,其中email_address_table不是Excel表中的电子邮件地址的一部分。 据我所知, Teradata不能直接使用excel工作表,所以我正在用Java编写代码,在这里我可以从列中检索单个电子邮件地址,甚至将它们格式化为一个string,我想直接在SQL查询。 所以,基本上,根据我所需要的语法,查询将在Java程序中形成。 input: +———+———-+———————————+ | id | name | Date | +———+———-+———————————+ | 1 | abc@gmail.com | 21.03.2015 | | 2 | def@gmail.com | 22.04.2015 | | 3 | ajk@gmail.com | 22.03.2015 | | 4 | ghi@gmail.com | 23.03.2015 | | 5 | ghi@gmail.com | 23.03.2015 | Excel工作表: +———+———–+ | […]

复制到excel中时,从teradata中丢失的领先零

所以我的投射function在这里把我的列名为ndc11的前导零…然而(这是伟大的,因为我需要它是11位数),当我复制并粘贴到Excel中,它失去了前导零。 任何方式把这也变成了文本格式,以便它不会失去在Excel中的格式? select extract(month from pf.fill_sold_dt ), Cast((Cast(ndc11 As Integer) (Format '9(11)')) As varChar(11) ) , generic_prod_id,prod_name, drug_type_cd, sum(fill_qty_dspn) as Pills, sum((fill_qty_dspn)/(pkg_sz*pkg_qty) )as Packs from prdedwvwh.prescription_fill_sold pf inner join prdedwvwh.drug_cur d on pf.drug_id = d.drug_id where fill_sold_dt between '2014-05-01' and '2015-04-30' and generic_prod_id in ( '62100005008540','62100005008530','62100005008520') group by 1,2,3,4,5

如何将Excel表格中的数据插入到数据库表格中?

我需要将Excel表格中的数据插入Teradata表格。 我需要用MACRO来完成。 我有一个Excel表格中的数据 COL1 COL2 COL3 COL4 1 2 3 4 2 5 8 10 。 。 等等 我需要在Excel表中保留一个button,并为该button分配一个macros,以便当我单击该button的Excel表中的行应插入到数据库表中。 要求是我将发送空的excel表单给这个人,他会用数据填写表单,他点击excel中的button,数据必须插入到数据库表中。 我宁愿这样做使用macros 谢谢大家。

如何使用BTEQ导入从excel文件导入数据到Teradata表中?

我试图使用BTEQ导入从文件中的表中导入数据。 即时通讯面临奇怪的错误,而这样做 喜欢: 如果即时通讯使用文本文件作为input数据文件与','作为分隔符作为提交分隔符即时获取错误如下: ***失败2673源宗地长度与所定义的数据不匹配。 要么 如果即时通讯使用EXCEL文件作为input数据文件即时通讯错误如下: *生长缓冲区为53200 *错误:导入数据大小不符合字节长度。 原因可能是:1)导入数据与导入报告2)导入数据不正确3)导入文件已到达文件结尾。 ***警告:数据不足。 请使用txt文件作为input数据文件给出BTEQ导入的语法,如果我们使用EXCEL文件作为input数据文件 还有input数据文件的任何特定格式正确读取数据。 如果是这样,请给我关于这方面的信息。 提前致谢:) 编辑 抱歉不要在第一次发布脚本。 我是Teradata的新成员,但尚未探索其他工具。 我被要求编写BTEQ导入的脚本 .LOGON TDPD / XXXXXXX,XXXXXX 。import VARTEXT','FILE = D:\ cc \ PDATA.TXT .QUIET ON .REPEAT * 使用 COL1(VARCHAR(2)) ,COL2(VARCHAR(1)) ,COL3(VARCHAR(56)) 插入 (COL1 ,COL2 ,COL3) VALUES(:COL1 ,:COL2 ,:COL3); 。放弃 我执行了上面的脚本,它是成功的使用TXT(分隔文件逗号)文件和数据types为varchar。 示例inputtxt文件: 1,B,helloworld1 2,B,helloworld2 3,d,helloworld1 12,B,helloworld1 我也尝试使用选项卡(\ t)作为字段分隔符相同,但它给出了相同的旧错误。 问)这是否只适用于逗号分隔的txt文件? […]

通过VBA将3000个插入程序加速上传到Teradata

非常感谢jacouh( VBA复制和粘贴3000行 )给我最初的问题的答案。 在论坛的帮助下,我现在有下面的代码,从Excel文件中插入2999行。 每行是INSERT (X, Y, Z, …) VALUES (X1, Y1, Z1,…) into DBNAME.TABLE 。 虽然它的工作,它是痛苦的缓慢。 据我所知,我可以通过增加缓冲区的大小来增加插入的速度,如http://developer.teradata.com/doc/connectivity/tdnetdp/13.11/webhelp/Teradata.Client.Provider~Teradata .Client.Provider.TdConnectionStringBuilder〜ResponseBufferSize.html 。 我试图把它纳入失败。 有人可以推荐一个可能的集成来增加响应缓冲区的大小。 非常感谢。 以前我已经探索过不同的论坛,这绝对是最好的。 当然。 任何其他的想法,比我目前使用的(约插入大约3000行15表),请让我知道! Sub Insert_to_TD() Dim cn As ADODB.Connection Set cn = New ADODB.Connection Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset Dim cmdsqldata As ADODB.Command Set cmdsqldata = New ADODB.Command […]

如何将Teradata SQL查询的输出链接到Excel工作表?

我是teradata的新手。 我在teradata上运行一个sql代码,它给了我一个表作为输出。 我希望这个表可以在我运行这个代码的时候直接填充到Excel工作表中。 我该怎么做? 谢谢。

运行时错误“-2147217871(80040e31)”:查询超时已过期

当我尝试运行这个大的查询时出现这个错误。 较小的查询它不。 我已经设置连接超时为0,这并没有帮助。 它看起来像连接,并将其挂在代码的.Open部分。 感谢您的任何帮助。 Public Sub dbConnectTDaY() Dim cn As ADODB.Connection Dim Rec_set As ADODB.Recordset Dim MyConn, varSQL As String Dim Rw As Long, Col As Long, c As Long Dim MyField, Location As Range Dim i As Integer Dim strSQL As String Dim strStDt As String Dim strEnDt As String strStDt = ThisWorkbook.Worksheets("xxx").Range("B6").Value […]