赞
踩
HELP 帮助用户了解数据库中各种对象的结构
SHOW 帮助用户了解某种对象的定义,即返回其DDL语句
EXPLAIN 返回一个SQL语句经优化处理后的执行步骤
FALLBACK 对数据加以保护的一种方式,是冗余的备份
RENAME 对表重命名
NULLIFZERO 对数据作累计处理时,忽略零值
ZEROIFNULL 对数据作累计处理时,将空值作零处理
WITH...BY 对详细数据记录作分类统计(Sub-Total)时有用
MODIFY USER/DATABASE 对用户/数据库对象作动态修改而无需数据库重组
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; 显示表/视图某几列的信息
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。
NULL的使用
NULL的说明:
! NULL显示没有数据的字段
! NULL表示不存在或未发现的值
! NULL既不是数字类型也不是字符类型
! 具有NULL值的字段可以被压缩,不占任何空间
NULL也可以参与运算,其运算规则为:
! NULL在算术运算中产生的结果为NULL(空)
! NULL在比较运算中产生的结果为False
! UNKNOWN DATA, MISSING DATA和NULL是同样的含义
! 当进行升序排列时,NULL在数字列排列在负数前,在字符列排列在空格
前。
EXISTS在子查询中的使用
EXISTS可以使用在子查询中,用来表示查询至少返回一行。如果前面加上否定词NOT,则表示查询时无记录存在。EXISTS可以代替IN,而NOT EXISTS可以代替NOT IN。
对日期的格式化处理
在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' 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;
CHARACTERS函数 用于计算VARCHAR型数据字段的实际字符串长度
例:查询所有名字中包含5个以上字符的员工。
SELECT first_name
FROM employee
WHERE CHARACTERS (first_name) > 5;
TRIM函数 去除前/后端的空格或二进制零
例:查询姓是由四个字符组成的员工有哪些?
SELECT first_name
,last_name (TITLE 'last')
FROM employee
WHERE CHAR (TRIM (TRAILING FROM last_name)) = 4 ;
FORMAT短语可使用的格式化字符
$ 美元标识符
9 数字位
Z 将数字中的前缀零去除
,在指定位置插入逗号
. 指定小数点位置
- 在指定位置插入连字号
/ 在指定位置插入斜线
% 在指定位置插入百分号
X 字符数据,每个X代表一个字符
G 图形数据.一个G代表一个逻辑字符(双字节)
B 在指定位置插入空格
利用FORMAT短语,可以将字符字段或表达式进行截取处理
例:查询所有姓Brown的员工并显示其姓的第一个大写字母。
1.利用FORMAT
SELECT last_name
,first_name
,first_name (FORMAT 'X')
FROM employee
WHERE last_name = 'Brown'
2.使用数据类型的转换
SELECT last_name
,first_name
,CAST (first_name AS CHAR(1))
FROM employee
WHERE last_name = 'Brown'
Teradata的属性函数
属性函数 返回信息说明
TYPE 数据类型
TITLE 标题短语
FORMAT 格式短语
NAMED NAMED子句
CHARACTERS 字符个数
内连接
语法格式 例:
SELECT employee . employee_number
,employee . last_name
,department . department_name
FROM employee
INNER JOIN department
ON employee . department_number = department . department_number;
由此可见,连接条件应该定义在ON子句中。
别名的定义
语法格式 例:
SELECT e.employee_number
,e.last_name
,d.department_name
FROM employee e
,department d
WHERE e.department_number = d.department_number;
这里EMPLOYEE的别名是E,而DEPARTMENT的别名是D。由此可见,所谓别名,是表或者视图的一个临时名字,它必须在FROM子句中加以定义。
当一个表与它自己进行连接,即所谓的自连接(Self Join)时,一定要使用别名。一旦定义好别名,在此SQL语句中就必须使用它。
————————————————
版权声明:本文为CSDN博主「grettahou」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/grettahou/article/details/78802050
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。