Teradata数据库SQL命令
Teradata数据库SQL命令HELP 帮助用户了解数据库中各种对象的结构SHOW 帮助用户了解某种对象的定义,即返回其DDL语句EXPLAIN 返回一个SQL语句经优化处理后的执行步骤,注意并未真正执行FALLBACK 对数据加以保护的一种方式,是冗余的备份RENAME 对表重命名NULLIFZERO 对数据作累计处理时,忽略零值ZEROIFNULL 对数据作累计处理时,将空值作零处理WITH...BY 对详细数据记录作分类统计(Sub-Total)时有用MODIFY USER/DATABASE 对用户/数据库对象作动态修改而无需数据库重组www.zzzyk.comHELP 命令 参数 说明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.comHELP 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.comNULL的使用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 employeeWHERE 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/27FORMAT 'DDbMMMbYYYY' 27 Mar 1996FORMAT 'mmmBdd,Byyyy' Mar 27, 1996FORMAT 'DD.MM.YYYY' &nbs上一个:多平台向Postgresql迁移
下一个:Teradata分页排序
- 更多SQLServer疑问解答:
- 配置MSSQL复制指定快照文件夹提示:不是有效的路径或文件名
- 详细解读varchar和Nvarchar区别
- SQL SERVER 2005 同步复制技术
- 进程未能大容量复制到表 解决方法
- MSSql实例教程:MSSql数据库同步
- SQLServer2000同步复制技术实现(分发和订阅)
- sqlserver
- SQLSERVER
- 测试 sqlserver 最大用户数连接
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的
- sqlserver2008的安装问题。
- 为什么安装的SQL server 2008我的没有MSSQLSERVER协议啊?
- 怎样把exel表里的数据复制到sqlserver表里
- sqlserver数据库主键和外键问题
- sqlserver 中的左表连接查询和右表连接查询有啥不同?有什么用?