name;显示表的统计。
HELP CONSTRAINT table or viewname.constraintname; 显示定义在某个表/视图上的约束定义
HELP JOIN INDEX join_indexname; 显示连接索引的定义
HELP TRIGGER triggername; 显示触发器的信息
HELP PROCEDURE procedurename; 显示存储过程的信息
HELP PROCEDURE procedurename ATTRIBUTES;
HELP 'SQL'; 得到所有SQL命令的列表信息
HELP 'SQL sqlcommand'; 得到某个特定SQL命令的使用方法
16:SHOW 如果知道一些
数据库对象是用什么样的DDL命令创建的,则要使用SHOW命令。
SHOW TABLE tablename;
SHOW VIEW viewname;
SHOW MACRO macroname;
SHOW INDEX Tablename;
SHOW JOIN INDEX join_indexname;
SHOW TRIGGER Triggername;
SHOW PROCEDURE Procedurename;
17:EXLPLAIN
EXPLAIN SELECT * FROM department;
注释:利用EXPLAIN命令,可以了解Teradata执行一个SQL交易请求的详细过程和计划,这对于更进一步地理解Teradata的查询处理机制有很大的帮助。另一方面,对于复杂SQL交易的调试来说,这也是不可或缺的一个工具。
利用EXPLAIN解释一个SQL交易的方法很简单,就是在原来SQL语句的前面加上EXPLAIN即可,其他完全不变。
18:日期函数
SELECT DATE;
SELECT EXTRACT(YEAR FROM DATE);
SELECT EXTRACT(MONTH FROM DATE+30);
SELECT EXTRACT(DAY FROM DATE+2);
SELECT TIME;
SELECT EXTRACT(HOUR FROM TIME);
SELECT EXTRACT(MINUTE FROM TIME);
SELECT EXTRACT(SECOND FROM TIME);
SELECT ADD_MONTHS(DATE,2);
SELECT ADD_MONTHS(DATE,12*8);
SELECT ADD_MONTHS('2002-03-19',12);
19、在LIKE结构的字符串中,‘%’和‘_’可以作为通配符使用,但是如果需要匹配这些字符本省(比如查询96%),即把它们作为一般字符使用,我们可以通过定义ESCAPE字符来达到这个目的,紧跟在EXCAPE字符后的‘%’和‘_’作为一般字符看待。
例:
LIKE ''%A%%AAA__'' ESCAPE ''A''
在这个表达式中,将字母A定义为ESCAPE字符,其中:
! 第一个%为通配符;
! 第一个A和其后的%联合表示字符%;
! 第三个%为通配符;
! 第二个A和其后的A联合表示字符A;
! 第四个A和其后的’_’联合表示字符_;
! 最后一个’_’为通配符。
20、宏
CREATE MACRO macroname AS ( . . . ); 定义宏
EXECUTE macroname; 执行宏语句
SHOW MACRO macroname; 显示宏定义
REPLACE MACRO macroname AS ( . . . ); 改变宏定义
DROP MACRO macroname; 从字典中删除宏定义
EXPLAIN EXEC macroname; 显示宏执行的解释
21、CHARACTERS函数
CHARACTERS函数也是Teradata的扩展,用于计算VARCHAR型数据字段的实际字符串长度。
CHARACTERS函数也可以简写成CHARACTER、CHARS或者CHAR。
22、TRIM函数
ANSI标准的TRIM函数用于去除字符数据中前头或后端的空格或者二进制数据中前头或后端的零。
在Teradata缺省模式下,TRIM()只能去除后端的空格或二进制零。
23、日期格式
在Teradata中,日期数据的缺省输出格式是:YY/MM/DD,这和ANSI标准是一样的。而ANSI标准建议的日期显示格式是:YYYY-MM-DD。
下面是一些对日期进行格式化的例子。
句法 结果
FORMAT 'YYYY/MM/DD' 1996/03/27
FORMAT 'DDbMMMbYYYY' 27 Mar 1996
FORMAT 'mmmBdd,Byyyy' Mar 27, 1996
FORMAT 'DD.MM.YYYY' 27.03.1996
FORMAT 'MM/DD/YY' 03/27/96
FORMAT 'MMM.DD.YY' Mar.27.96
FORMAT 'yy -- mm -- dd' 96 -- 03 -- 27
FORMAT 'DDDYY' 08696
SELECT last_name,first_name,hire_date (FORMAT 'mmmBdd,Byyyy')
FROM employee
ORDER BY last_name;
利用FORMAT短语,可以将字符字段或表达式进行截取处理,这种处理只影响显示格式,而不会影响数据的内部存储格式。
24、建表
带结构的建表方法:
Create volatile multiset table duebill_agmt,no log(
Agmt_num varchar(40) not null,--‘借据号’
)
Primary index(Agmt_num,Agmt_modifier_num)
On commit preserve rows;
Teradata DDL允许在创建表时指定表的物理属性,包括:
A. SET 不允许记录重复,例:CREATE SET TABLE table1 ...
B. MULTISET 允许记录重复,例:CREATE MULTISET TABLE table1 ...
C. 数据保护要结合FALLBACK和JOURNAL (流水或日志)。
FALLBACK是Teradata的一种数据保护机制,数据表的每一条记录都同时存放两份,而且位于不同的AMP所控制的存储单元中;当数据发生问题或者AMP失败时,可以利用存放在其他AMP上的数据保证对数据表的访问。
- FALLBACK 使用FALLBACK保护机制
- NO F