• Teradata SQL tips


    Question:

    Insert into table_name  (1),(2),....

    Teradata 貌似不能同时插入,只能一条一条插入,报错。

    后来改为:

    Insert into table_name (1);

    Insert into table_name (2);

    Insert into table_name (3);

    ...

    就可以了。  但是不确定 是不是不能同时插入,还没找到确切的证据!!!

    -------------------------------------------------------------

    1. 系统变量

    SELECT date,  time, user, database

    -- 当前系统日期, 系统时间, 当前登陆的用户, 当前缺省的数据库

    Teradata 点滴-- 1 - 寻走的人 - 自由、随心、求真
     
    date 一般不用来更新 create_dt 和update_dt, 一般用 current_timestamp
    SELECT user, current_timestamp
    Teradata 点滴-- 1 - 寻走的人 - 自由、随心、求真
     

    2. Extract

    Teradata中EXTRACT函数支持日期数据中选取年.月.日.从时间数据中选取小时.分钟和秒

    SELECT DATE;                                                   11/07/2014

    SELECT EXTRACT(YEAR FROM DATE);      2014

    SELECT EXTRACT(MONTH FROM DATE);  11

    SLEECT EXTRACT(DAY FROM DATE);        07

    SELECT EXTRACT(MONTH FROM DATE + 17);   12, 先date加17天,再计算month

    SLEECT EXTRACT(MONTH FROM DATE) + 17;    29, 先计算month,再加上17

    -----------------

    SELECT TIME; 14:52:32

    SELECT EXTRACT(HOUR FROM TIME); 14

    SELECT EXTRACT(SECOND FROM TIME+30

    ---------------------------------------------------------------

    时间差处理,+-interval

    例如

    SEL current_timestamp,

            current_timestamp + interval '1' YEAR         -- 年+1

           current_timestamp + interval '1' MONTH      -- 月+1

           current_timestamp + interval '1' DAY            -- 日+1

           current_timestamp + interval '1' HOUR         -- 时+1

           current_timestamp + interval '1' MINUTE      -- 分+1

     

    3.输入参数

    sp:    (IN test_variable INTEGER)

     调用时,写  : test_variable 

    ----比如: WHERE group_id = : group_id

    4. 调用/run某个sp

     call dtv_iap_stage.rpt_run_prodqc_group(3)  -- 跑group_id 为3的QC report

    5. Teradata 里面的NULL 值显示为 ?

        如果要把NULL 值转化为其他的,用COALESCE (num, 0)  把num中的NULL 值转化为 0


    6. 有时候遇到一个关键词作为列名或者表名,

    这时候识别时会出现UDFCALLNAME 错误,只要加上"" 双引号即可。

    比如SELECT  *  FROM DTV_TARGET. "ACCOUNT"

    7 Teradata 里面怎么copy表,(相当于select into)

    CREATE TABLE new_name AS

    (SELECT

    --指明列名) WITH NO DATA;  -- copy 表结构

                         WITH DATA;  -- copy 表结构和values

    此时默认的是 SET table,不允许duplicates

    若要保持数据一致,CREATE MULTISET table 即可,保留duplicates

  • 相关阅读:
    在QT函数中返回一个数组/把一个数组传参给函数
    QT储存内容到指定的文件内
    QT对linux下/sys/class/gpio中的gpio的控制
    QT 线程的暂停和继续
    QT的close和系统的close冲突
    画动态曲线另一种方式方式
    QT关于iCCP警告去除
    ps两张图片合在一起
    ps 做动态图
    解决MFC中因控件类多次Attch造成的销毁窗口过程中CWnd* pWnd = CWnd::FromHandlePermanent(hWnd); ASSERT(pWnd != NULL); 断言失败的问题
  • 原文地址:https://www.cnblogs.com/skyEva/p/5368811.html
Copyright © 2020-2023  润新知