资源描述:
《ORACLE优化.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、补充知识ORACLE本章内容系统函数介绍SQL优化函数-1日期函数:add_months(d,n):返回指定日期加上指定月数后的日期值。d是日期,n是月数。months_between(d1,d2):返回两个日期之间的月数。d1,d2都是两个日期。last_day(d):返回指定日期当月的最后一天的日期值。d是日期。round(d,[fmt]):返回日期值,此日期四舍五入为格式模型指定的单位。d是日期,fmt指定格式模型。(fmt是一个选项,默认舍入为最靠近的那一天。如果格式为‘year’则舍入到年的开始,即1月1日; 如果格式为‘month’则舍入到月的第一天;
2、如果格式为‘day’则舍入到最靠近的星期天。)next_day(d,day):返回指定的下一个星期几的日期。d是日期,day指定周内任何一天如‘星期一’。trunc(d,[fmt]):返回日期值,指定日期截断为格式模型指定的单位的日期。d是日期,fmt指定格式模型。(与round函数类似,不同的是它只舍不入。)extract(fmtfromd):提取日期时间类型中的特定部分。fmt指定格式模型,d是日期。(fmt取值可以是:year,month,day,hour,minute,second;注意此处的格式不能使用单引号。)函数-2字符函数:initcap(char)
3、:首字母大写。lower(char):转换为小写。upper(char):转换为大写。ltrim(char,set):左边截空。rtrim(char,set):右边截空。translate(char,from,to):按字符翻译。replace(char,search_str,replace_str):字符串替换。instr(char,substr[,pos]):查找子串位置。substr(char,pos,len):取子字符串。concat(char1,char2):连接字符串。chr(int):根据ASCII码返回对应的字符。int是ASCII码。lpad(st
4、r,int,char)和rpad(str,int,char):用指定的字符(左
5、右)填充源字符串到指定长度。str是源字符串,int指定总长度,char是填充的字符。length(str):返回字符串的长度。str是字符串。decode(expr,search1,trsult1,search2,trult2...[,default]):进行逐个值的替换。expr是字符变量或数据表字段,search是expr的预期值,trsult是返回值,default是无匹配是返回的值。trim([[leading
6、trailing]trim_char]fromtrim_sours
7、e):trim_char指定裁剪的字符,trim_sourse是源字符串。函数-3数学函数:abs(n)取绝对值。ceil(n)向上取整sin(n)正弦cos(n)余弦sign(n)取符号floor(n)向下取整power(n)m的n次幂mod(m,n)取余数round(m,n)四舍五入trunc(m,n)截断sqrt(n)平放根函数-4转换函数:to_char(d
8、n[,fmt]):将指定的日期或数字转换成字符串(varchar2)。d是日期,n是数字,fmt是指定日期或数字的格式。to_date(char[,fmt]):将char或varchar数据类型转换为日
9、期类型。char是日期格式的字符串,fmt是日期的格式。to_number(char):将字符串转换为数字。其他函数:nvl(ex1,ex2):将空值替换为指定的值。ex1是变量或数据表字段,ex2是一个值。如果ex1为NULL,则nvl返回ex2。如果ex1不为NULL,则nvl返回ex1。nvl2(ex1,ex2,ex3):与nvl类似。如果ex1不为NULL,则返回ex2。如果ex1为NULL,则nvl返回ex3。nullif(expr1,expr2):比较两个表达式,如果相等,则返回空值(null),否则返回expr1。函数-5分组函数:avg(column
10、):返回参数中指定列的平均值。min(column):返回参数中指定列的最小值。max(column):返回参数中指定列的最大值。sum(column):返回记录集中值的总和。count([distinct]*
11、column[,column..]):返回记录集中的行数。分析函数:row_number()over(partitionbyCOL1orderbyCOL2):表示根据COL1分组,在分组内部根据COL2排序,而这个值就表示每组内部排序后的顺序编号(组内连续的唯一的)。rank()over(partitionbyCOL1orderbyCOL2):与row_