标签: teradata

未找到表名 foo 列 - Teradata

我正在使用 Teradata Express Studio 进行以下查询:

SELECT column1
FROM table1
INNER JOIN table2
ON table1.column2 = table2.column3
WHERE table2.column4 IN "foo";
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Executed as Single statement.  Failed [5628 : HY000] Column foo not found in table2 or table1.
Run Code Online (Sandbox Code Playgroud)

我正在尝试搜索一个column4值为 foo 的条目,但似乎认为 foo 是列名,任何人都可以帮助我吗?

sql teradata

2
推荐指数
1
解决办法
2353
查看次数

如何替换 Teradata select 语句中的多个字符串

我需要从表中进行选择,但删除各种字符串。假设我的表中的条目是:

DataMart1:Here is some data and other valuable data
HouseWareMart Other data possibly junk data
DataLake3 there is nothing here
Run Code Online (Sandbox Code Playgroud)

我想删除各种字符串:“有价值的数据”“其他数据”“什么都没有”

所以我会得到:

DataMart1:Here is some data and other
HouseWareMart possibly junk data
DataLake3 here
Run Code Online (Sandbox Code Playgroud)

我考虑过嵌套 OREPLACE,但无法获得正确的语法,并且搜索“嵌套 OREPLACE”没有返回任何有用的信息。

有什么建议么?

sql teradata

2
推荐指数
1
解决办法
7398
查看次数

什么是在2009年9月Teradata 12中显示数字(200909)的SQL

什么是在2009年9月Teradata 12中显示数字(200909)的SQL

sql teradata

1
推荐指数
1
解决办法
1848
查看次数

具有相同结构的表之间的差异

我有两个具有相同结构且行略有不同的表 - 表A和表B.我想提取表A中包含但表B中没有的所有行.你能帮我做那个吗?

顺便说一句 - 表A是定义形式,它以前没有创建过.

另外 - 我有15个sql脚本来分析.我想找到一些软件可以帮助我实现整个过程的可视化(由15个sql脚本组成).你能建议一些好的吗?

sql teradata

1
推荐指数
1
解决办法
2148
查看次数

sql union所有数据类型错误,带空值

我有两张桌子,我之间有'联合所有'.

我的问题,我得到一个数据不匹配错误的原因,在表1中我有select ... ,'opt' as opt from...然后在第二个表中我有select ..., null as opt from...

我知道我可以有一个空字符串'' as opt但是,我不想要一个空字符串,我真的需要它为null.无论如何,我可以得到查询接受null?

union null teradata

1
推荐指数
1
解决办法
4231
查看次数

试图在Teradata中投射日期和时间

我正在从具有时间戳(6)数据类型的表中进行选择.

我想得到日期和时间,如此:

目前数据如下所示: 03/10/2014 21:54:47.690000

我想选择,以便结果如下所示: 03/10/2014 21:54:47

我试过这个:

SELECT CAST(EVENT_GMT_TIMESTAMP AS DATE) || (EVENT_GMT_TIMESTAMP AS TIME)   AS theDate, SUM(VwNIMEventFct.DWELL_MINUTES) AS totalDwellMins
FROM RDMAVWSANDBOX.VwNIMEventFct
WHERE EXTRACT(MONTH FROM EVENT_GMT_TIMESTAMP) = 4
GROUP BY theDate
Run Code Online (Sandbox Code Playgroud)

但收到一条消息"语法错误,期望EVENT_GMT_TIMESTAMP和AS关键字之间的东西"

还试过concat().

有没有更好的方法,而不是连接,选择EVENT_GMT_TIMESTAMP作为日期时间,但到了分钟?

还到了一小时?

必须有一个功能,让你选择这样的输出?

我发现研究网络的东西似乎不适用于Teradata.

我也试过这个:

SELECT CAST(EVENT_GMT_TIMESTAMP AS FORMAT 'YYYYMMDDHHMM')  
Run Code Online (Sandbox Code Playgroud)

但输出是这样的:

04/18/2014 12:20:44.384000
Run Code Online (Sandbox Code Playgroud)

我需要它像这样:

04/18/2014 12:20:44
Run Code Online (Sandbox Code Playgroud)

sql datetime teradata

1
推荐指数
1
解决办法
2万
查看次数

拆分字符串Teradata SQL

我正在寻找在Teradata中拆分字符串的方法。

该表可能看起来像这样。

column1
hello:goodbye:afternoon
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用SUBSTRING和INSTR提取特定的单词。所以,说我想选择“再见”。我正在尝试以下查询。

SELECT SUBSTRING(a.column1 from index(a.column1,':')+1 for INSTR(a.column1,':',0,2))
FROM db.table as a
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

SELECT Failed. [3707] Syntax error, expected something like ')' between the word 'INSTR' and '('
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会收到该错误。它使我可以使用INDEX来代替INSTR来推导一个数字,因此我不确定为什么当我使用INSTR时它为何以这种方式工作。

sql database substring teradata

1
推荐指数
1
解决办法
2万
查看次数

将行转换为Teradata中的列

我有一个像下面的桌子

Date_value| Class_ID | count
17-05-2016|1         | 200
17-05-2016|2         | 400
17-05-2016|3         |250
17-05-2016|4         | 300
18-05-2016|1         | 500
18-05-2016|2         | 600
18-05-2016|3         |750
18-05-2016|4         | 800
Run Code Online (Sandbox Code Playgroud)

现在我想要如下输出。

Date_value|1   |2   |3    |4
17-05-2016|200 |400 | 250 |300
18-05-2016|500 |600 | 750 |800
Run Code Online (Sandbox Code Playgroud)

在此先感谢,Nikhila

teradata

1
推荐指数
1
解决办法
3407
查看次数

JDBC connection.getschema()AbstractMethodError

我正在尝试从Teradata的连接中获取默认数据库名称.我正在使用Teradata JDBC Driver 15.10.00.33.

以下代码给出了这个抽象方法错误.任何人都可以建议我如何使用jdbc获取默认数据库名称?

Exception in thread "main" java.lang.AbstractMethodError: com.teradata.jdbc.jdk6.JDK6_SQL_Connection.getSchema()Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)
public class TestTDConnection {

    public static void main(String args[]) {

        String tdConnString = "jdbc:teradata://xx/database=xx";

        try {
            Connection conn = DriverManager.getConnection(tdConnString,"xx","xx");
            System.out.println(conn.getSchema());
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java jdbc teradata

1
推荐指数
1
解决办法
2134
查看次数

从不存在记录的另一个表插入表

我正在尝试找出如何从临时表(temp)插入现有表(tbl01)中的临时表(temp)中。我希望这是有道理的。我基本上是在尝试使用自表的上一次更新以来发生的记录来更新表。到目前为止,这是我的代码:

insert into tbl01
(sale_store, sale_dt, sale_register, sale_trans)
select distinct
sale_store, sale_dt, sale_register, sale_trans
from temp
where NOT EXISTS (select * from tbl01)
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是它可以运行,但不会在表中放入任何新记录 -应该有很多新记录。我确定这是我所缺少的小而愚蠢的东西。我以这篇文章为指导:如何避免在SQL Server的INSERT INTO SELECT查询中重复?

先感谢您!

sql insert teradata insert-into sql-insert

1
推荐指数
1
解决办法
5779
查看次数

标签 统计

teradata ×10

sql ×7

database ×1

datetime ×1

insert ×1

insert-into ×1

java ×1

jdbc ×1

null ×1

sql-insert ×1

substring ×1

union ×1