【问题标题】:Teradata SQL - Select to create a tableTeradata SQL - 选择以创建表
【发布时间】:2019-11-27 00:10:23
【问题描述】:

我正在尝试让这个工作,但不确定如何从 Sybase SQL 传输到 Teradata。

我的 Sybase SQL 代码如下。

SELECT
    d.dt

FROM (
Select CAST (dateadd(day, 0, getdate()) AS DATE) AS dt UNION ALL
Select CAST (dateadd(day,1, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,2, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,3, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,4, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,5, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,6, getdate()) AS DATE) UNION ALL
Select CAST (dateadd(day,7, getdate()) AS DATE) 
) d

我在 Teradata 中尝试过,但它没有飞行。

SELECT
    d.dt

FROM (
Select CURRENT_DATE AS dt UNION ALL
Select (CURRENT_DATE - 1 )

) d

它适用于今天,但是一旦我添加 UNION ALL 和更多天,它就会给我一个错误 (3888)

【问题讨论】:

    标签: teradata


    【解决方案1】:

    对我来说,在 Teradata 上执行此操作的最简单方法是使用简单的 1 行 CTE 进行伪造:

    with cte as (select '1' as col1)
    
    select
    d.dt 
    from (
    Select CURRENT_DATE AS dt from cte UNION ALL
    Select (CURRENT_DATE - 1 ) from cte
    ) d
    

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2020-06-17
      • 1970-01-01
      相关资源
      最近更新 更多