• Teradata(不同date输出要求;表类型)


    1. 需要某种特定形式的date 类型export 到文件中,例如 YYYYMMDD/ YYYY-MM-DD

        这时候不一定非要用date 类型,可以转换为varchar 类型!
    Teradata 点滴2 - 寻走的人 - 自由、随心、求真

    CAST(CAST (DATE AS FORMAT 'YYYYMMDD') AS CHAR(8))

    两重CAST

    第一个转化格式,但是结果还是date的默认类型,01/08/2015;

    第二个转化类型char,就看到结果了。

    2. Teradata 表的类型

    可以用show table 名字来查看某表的定义

    1) MULTISET Table
    create table test
    ( id int,
    name char(20)
    )

    系统默认会将表设置为MULTISET Table,没有备份(FALLBACK )和恢复日志(BEFORE JOURNAL/AFTER JOURNAL),而且会默认
    将第一列设置为PRIMARY INDEX。

    2)SET Table

    当创建表定义为create set table test;

    区别:
    SET Table 不可以包含重复数据
    MULTISET Table 可以包含重复数据

    3)VOLATILE Table  (挥发性的,不稳定的)
    create volatile table test as
    ( select * from table
    ) with data
    on commit preserve rows
    这个表只存在于cache中,data dictionary中也找不到这个表,当User结束一个session时,这个表将自动删除,所有用户无法访问,下次用户需要重新建表。

    4)GLOBAL TEMPORARY Table
    create global temporary table test as
    ( select * from table
    ) with no data -- global temporary table cannot define with data
    on commit preserve rows

    这个表存在于data dictionary中,当User结束一个session时,这个表中的数据将自动删除,表还保留,其它用户可以继续访问这个表,但是数据只存在于某一session中

    在上边的定义中,我们使用的是on commit preserve rows,执行以下SQL,我们可以看到表中存有数据。
    insert into test
    select *
    from table

    然后执行
    select *
    from test

    如果把定义改为on commit delete rows,我们看到表中依然没有数据,这是因为每个SQL 语句都是一个隐性事务。

  • 相关阅读:
    【设计模式】适配器模式
    【设计模式】原型模式
    【设计模式】建造者模式
    【设计模式】抽象工厂模式
    我的稳定的SpingBoot项目依赖
    Vue中使用iconfont
    Vue-兄弟组件传值
    CSS让高度百分百的方案
    css修改overflow滚动条默认样式
    CSS去除input和textarea点击选中框
  • 原文地址:https://www.cnblogs.com/skyEva/p/5368761.html
Copyright © 2020-2023  润新知