5 DML语言

5 DML语言

Select [ALL|DISTINCT|DISTINCTROW|[TOP n [PERCENT]]] FROM TABLE FROM 表;
 
select case when to_date(max(tr.board_in_time))-to_date('',‘yyyymmddhh24miss') >0 then 1 else 0 end ff from tracer.r_wip_prd_reflow_t tr;
//当前时间减去表中栏位最大的一个值,确定是否最新时间,返回1 或者0;
 
使用ESCAPE可以某些特殊字符,如通配符'%'和'_'转换成它们原来的意义。
例如:实例:

SQL> select * from t11 where name like '%_%';

NAME
----------
aa_a
aaa
SQL> select * from t11 where name like '%\_%' escape '\';

NAME
----------
aa_a

注意:如果是 '/' 作为检索字符, 必须 用 '/' 作为转义符, 正斜扛也一样.
select * from wan_test where psid like '%//%' escape '/'


TRUNC 可以用来截取truncate。
TO_CHAR 用来转换日期,日期格式:‘HH24:MI:SS AM’= 15:45:32 Pm
     'DD "of" MONTH' = 12 of month
     'ddspth' = fourteenth
 
TO_CHAR 用来处理数字:格式:9代表一个数字;0为强制显示0;$放置一个$符;L放置一个浮动本地货币符;
.表示小数点;,显示千位指示符
 
NVL 函数:将空值转换成实际的值;
NVL2函数:NVL(EXPR1,EXPR2,EXPR3):如果EXPR1不为Null,返回EXPR2,如果EXPR2为空,返回EXPR3.
NULLIF函数:NULL(EXPR1,EXPR2)比较2个值,如果相等返回空值,如果不等返回EXPR1;
CASE表达式:CASE EXPR WHEN COMPARISON_1 THEN RETURN_1 [WHEN COMPARISON_2 THEN RETURN_2 WHEN COMPARISON_3 THEN RETURN_3 ]ELSE ELSE_N END
DECODE是Oracle独家提供的高深的函数,同if then else 的case 功能:DECODE(COL/EXPRESSION,SEARCH1,RESULT1,SEARCH2,RESULT2..DEFAULT)
 
分组函数:计算一组数据,返回一个结果:例如sum,avg,min,max,count。
COUNT(EXPR) 返回非空记录;COUNT(DISTINCT(EXPR))返回不空的,不重复的值;分组函数省略列中空值,NVL函数迫使分组函数包含空值:AVG(NVL(comm,0)) 
GROUP BY子句将表分为小组,胡虐空值,可使用NVL,NVL2,COALESCE
 





posted @ 2015-01-19 20:01  hijushen  阅读(162)  评论(0编辑  收藏  举报