当前位置:数据库 > SQLServer >>

Teradata数据库SQL命令

Teradata数据库SQL命令
 
HELP 帮助用户了解数据库中各种对象的结构 
SHOW 帮助用户了解某种对象的定义,即返回其DDL语句 
EXPLAIN 返回一个SQL语句经优化处理后的执行步骤,注意并未真正执行 
FALLBACK 对数据加以保护的一种方式,是冗余的备份 
RENAME 对表重命名 
NULLIFZERO 对数据作累计处理时,忽略零值 
ZEROIFNULL 对数据作累计处理时,将空值作零处理 
WITH...BY 对详细数据记录作分类统计(Sub-Total)时有用 
MODIFY USER/DATABASE  对用户/数据库对象作动态修改而无需数据库重组 
  www.zzzyk.com  
HELP  命令     参数           说明 
HELP DATABASE databasename;  可以显示一个指定数据库所包含的所有对象 
HELP USER username;  显示某个用户中所包含对象的信息 
HELP TABLE tablename;  显示某张表的信息 
HELP VIEW viewname;  显示某个视图的信息 
HELP MACRO macroname;  显示某个宏的信息 
HELP COLUMN table or viewname.*;  显示表/视图的各列的信息 
HELP COLUMN table or viewname.colname . . ., colname;  显示表/视图某几列的信息   www.zzzyk.com  
HELP INDEX tablename;  显示某个表中的所有索引定义 
HELP STATISTICS tablename;  显示表的统计 
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命令的使用方法 
 
如要知道这些数据库对象是用什么样的DDL命令创建的,则要使用SHOW命令: 
SHOW命令 参数 
SHOW TABLE Tablename ; 
SHOW VIEW Viewname; 
SHOW MACRO Macroname; 
SHOW INDEX Tablename; 
SHOW JOIN INDEX join_indexname; 
SHOW TRIGGER Triggername; 
SHOW PROCEDURE Procedurename; 
 
EXPLAIN命令:利用EXPLAIN命令,可以了解Teradata执行一个SQL交易请求的详细过程和计划,这对于更进一步地理解Teradata的查询处理机制有很大的帮助。另一方面,对于复杂SQL交易的调试来说,这也是不可缺少的一个工具。 
 
利用EXPLAIN解释一个SQL交易的方法很简单,就是在原来SQL语句的前面加上EXPLAIN即可,其它完全不变。 
 
在LIKE结构的字符串中,'%'和'_'可以作为通配符使用,但是如果需要匹配这些字符本身(比如查找95%),即把它们作为一般字符时使用,我们可以通过定义ESCAPE字符来达到这个目的,紧跟在ESCAPE字符后的’%’和’_’作为一般字符看待。 
 
例: 
LIKE ''%A%%AAA__'' ESCAPE ''A'' 
 
在这个表达式中,将字母A定义为ESCAPE字符,其中: 
! 第一个%为通配符; 
! 第一个A和其后的%联合表示字符%; 
! 第三个%为通配符; 
! 第二个A和其后的A联合表示字符A; 
! 第四个A和其后的’_’联合表示字符_; 
! 最后一个’_’为通配符。 
 
对于表达式的操作数如果是字符,ANSI标准中是区分大小写的,如果不要区分大小写,可以使用UPPER函数将其转换成大写字母来进行匹配。Teradata缺省不区分大小写,如果要区分,可以使用其扩展参数CASESPECIFIC。 
  www.zzzyk.com  
NULL的使用 
 
NULL的说明: 
! NULL显示没有数据的字段 
! NULL表示不存在或未发现的值 
! NULL既不是数字类型也不是字符类型 
! 具有NULL值的字段可以被压缩,不占任何空间 
 
NULL也可以参与运算,其运算规则为: 
! NULL在算术运算中产生的结果为NULL(空) 
! NULL在比较运算中产生的结果为False 
! UNKNOWN DATA, MISSING DATA和NULL是同样的含义 
! 当进行升序排列时,NULL在数字列排列在负数前,在字符列排列在空格 
前。 
 
 
宏 
 
CREATE MACRO macroname AS ( . . . );  定义宏 
EXECUTE macroname;  执行宏语句 
SHOW MACRO macroname;  显示宏定义 
REPLACE MACRO macroname AS ( . . . );  改变宏定义 
DROP MACRO macroname;  从字典中删除宏定义 
EXPLAIN EXEC macroname;  显示宏执行的解释 
 
 
EXISTS在子查询中的使用 
 
EXISTS可以使用在子查询中,用来表示查询至少返回一行。如果前面加上否定词NOT,则表示查询时无记录存在。EXISTS可以代替IN,而NOT EXISTS可以代替NOT IN。 
 
 
CHARACTERS函数 
 
CHARACTERS函数也是Teradata的扩展,用于计算VARCHAR型数据字段的实际字符串长度。CHARACTERS函数可以简写成CHARACTER、CHARS或者CHAR。 
 
 
TRIM函数 
 
ANSI标准的TRIM函数用于去除字符数据中前头或后端的空格或者二进制数据(BYTE与VARBYTE)中前头或后端的零。在Teradata缺省模式下,TRIM (<expression>)只能去除后端的空格或二进制零。 
 
 
SELECT CAST (salary_amount AS FORMAT ''$$$,$$9.99''); 
 
SELECT (1000/salary_amount) * 100 
(FORMAT 'ZZ9%') 
(TITLE 'Increase Percentage') 
FROM employee 
WHERE employee_number = 1004; 
 
SELECT (CAST (1000/salary_amount) * 100 AS FORMAT 'ZZ9%' 
TITLE 'Increase Percentage') FROM ... 
 
FORMAT短语中可以使用的格式化字符主要为: 
$ 美元标识符 
9 数字位 
Z 将数字中的前缀零去除 
, 在指定位置插入逗号 
. 指定小数点位置 
- 在指定位置插入连字号 
/ 在指定位置插入斜线 
% 在指定位置插入百分号 
X 字符数据,每个X代表一个字符 
G 图形数据.一个G代表一个逻辑字符(双字节) 
B 在指定位置插入空格 
 
 
对日期的格式化处理 
 
在Teradata中,日期数据的缺省输出格式是:YY/MM/DD,这和ANSI标准是一样的。而ANSI标准建议的日期显示格式是:YYYY-MM-DD。 
 
其它一些常用的日期显示格式列举如下,其中的B表示空格。 
   YYYY/MM/DD' 
   YYYY-MM-DD' 
   YYYY.DDD' 
   DBMMMBYYYY' 
   MMBDD,BYYYY' 
   YYYYBMMMBDD' 
   YY/MM/DD' 
   D-MM-YY' 
   YBDDD' 
   MM' 
 
下面是一些对日期进行格式化的例子。 
   句法                        结果 
   FORMAT 'YYYY/MM/DD'         1996/03/27 
   FORMAT 'DDbMMMbYYYY'        27 Mar 1996 
   FORMAT 'mmmBdd,Byyyy'       Mar 27, 1996 
   FORMAT 'DD.MM.YYYY'     &nbs
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,