• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
考试大学习教室[oracle问题集(六)]
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
考试大学习教室[oracle问题集(六)]
软件发布 考试大学习教室[oracle问题集(六)]
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 认证考试 >> Oracle认证 >> Oracle指导 >> 考试大学习教室[oracle问题集(六)]

考试大学习教室[oracle问题集(六)]

添加时间: 2008-4-18 23:40:51  作者:   阅读次数:13   来源:

       


 
   ORACLE內部函數篇
  203. 如何得到字符串的第一個字符的ASCII值?

  ASCII(CHAR)
  SELECT ASCII('ABCDE') FROM DUAL;
  結果: 65
  204. 如何得到數值N指定的字符?

  CHR(N)
  SELECT CHR(68) FROM DUAL;
  結果: D

  205. 如何連接兩個字符串?

  CONCAT(CHAR1,CHAR2)
  SELECT CONCAT('ABC','DEFGH') FROM DUAL;
  結果: 'ABCDEFGH'

  206. 如何將列中的數值代替為字符串?

  DECODE(CHAR,N1,CHAR1,N2,CHAR2...)
  SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;

  207. INITCAP(CHAR)

  將字符串CHAR的第一個字符為大寫,其余為小寫.
  SELECT INITCAP('ABCDE') FROM DUAL;

  208. LENGTH(CHAR)

  取一字符串CHAR的長度.
  SELECT LENGTH('ABCDE') FROM DUAL;

  209. LOWER(CHAR)

  將字符串CHAR全部變為小寫.
  SELECT LOWER('ABCDE') FROM DUAL;

  210. LPAD(CHAR1,N,CHAR2)

  用字符串CHAR2包括的字符左填CHAR1,使其長度為N.
  SELECT LPAD('ABCDEFG',10'123') FROM DUAL;
  結果: '123ABCDEFG'

  211. LTRIM(CHAR,SET)

  從字符串CHAR的左邊移去字符串SET中的字符,直到第一個不是SET中的字符為止.
  SELECT ('CDEFG','CD') FROM DUAL;
  結果: 'EFG'

  212. NLS_INITCAP(CHAR)

  取字符CHAR的第一個字符大寫,其余字符為小寫.
  SELECT NLS_INITCAP('ABCDE') FROM DUAL;

  213. NLS_LOWER(CHAR)

  將字符串CHAR包括的字符全部小寫.
  SELECT NLS_LOWER('AAAA') FROM DUAL;

  214. NLS_UPPER(CHAR)

  將字符串CHAR包括的字符全部大寫.
  SELECT NLS_UPPER('AAAA') FROM DUAL;

  215. REPLACE(CHAR1,CHAR2,CHAR3)

  用字符串CHAR3代替每一個列值為CHAR2的列,其結果放在CHAR1中.
  SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;

  216. RPAD(CHAR1,N,CHAR2)

  用字符串CHAR2右填字符串CHAR1,使其長度為N.
  SELECT RPAD('234',8,'0') FROM DUAL;

  217. RTRIM(CHAR,SET)

  移去字符串CHAR右邊的字符串SET中的字符,直到最后一個不是SET中的字符為止.
  SELECT RTRIM('ABCDE','DE') FROM DUAL;

  218. SUBSTR(CHAR,M,N)

  得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為一個字符的.
  SELECT SUBSTR('ABCDE',2,3) FROM DUAL;

  219. SUBSTRB(CHAR,M,N)

  得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為二個字符的.
  SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;

  220. TRANSLATE(CHAR1,CHAR2,CHAR3)

  將CHAR1中的CHAR2的部分用CHAR3代替.
  SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL;

  221. UPPER(CHAR)

  將字符串CHAR全部為大寫.

  222. ADD_MONTHS(D,N)

  將N個月增加到D日期.
  SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;

  223. LAST_DAY(D)

  得到包含D日期的月份的最后的一天的日期.
  SELECT LAST_DAY(SYSDATE) FROM DUAL;

  224. MONTH_BETWEEN(D1,D2)

  得到兩個日期之間的月數.
  SELECT MONTH_BETWEEN(D1,D2) FROM DUAL;

  225. NEXT_DAY(D,CHAR)

  得到比日期D晚的由CHAR命名的第一個周日的日期.
  SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL;


  226. ROUNT(D,FMT)

  得到按指定的模式FMT舍入到的最進的日期.
  SELECT ROUNT('2003/09/20',MONTH) FROM DUAL;

  227. SYSDATE

  得到當前系統的日期和時間.
  SELECT SYSDATE FROM DUAL;

  228. TO_CHAR(D,FMT)

  將日期D轉換為FMT的字符串.
  SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL;

  229. TO_DATE(CHAR,FMT)

  將字符串CHAR按FMT的格式轉換為日期.
  SELECT TO_DATE('2003/09/20','YYYY/MM/DD') FROM DUAL;

  230. ABS(N)

  得到N的絕對值.
  SELECT ABS(-6) FROM DUAL;

  231. CEIL(N)

  得到大于或等于N的最大整數.
  SELECT CEIL(5.6) FROM DUAL;

  232. COS(N)

  得到N的余弦值.
  SELECT COS(1) FROM DUAL;

  233. SIN(N)

  得到N的正弦值.
  SELECT SIN(1) FROM DUAL;

  234. COSH(N)

  得到N的雙曲余弦值.
  SELECT COSH(1) FROM DUAL;

  235. EXP(N)

  得到N的E的N次冪.
  SELECT EXP(1) FROM DUAL;

  236. FLOOR(N)

  得到小于或等于N的最小整數.
  SELECT FLOOR(5.6) FROM DUAL;

  237. LN(N)

  得到N的自然對數.
  SELECT LN(1) FROM DUAL;

  238. LOG(M,N)

  得到以M為底N的對數.
  SELECT LOG(2,8) FROM DUAL;

  239. MOD(M,N)

  得到M除以N的余數.
  SELECT MOD(100,7) FROM DUAL;

  240. POWER(M,N)

  得到M的N冪.
  SELECT POWER(4,3) FROM DUAL;

  241. ROUND(N,M)

  將N舍入到小數點后M位.
  SELECT (78.87653,2) FROM DUAL;

  242. SIGN(N)

  當N<0時,得到-1;
  當N>0時,得到1;
  當N=0時,得到0;
  SELECT SIGN(99) FROM DUAL;

  243. SINH(N)

  得到N的雙曲正弦值.
  SELECT SINH(1) FROM DUAL;

  244. SORT(N)

  得到N的平方根,N>=0
  SELECT SORT(9) FROM DUAL;

  245. TAN(N)

  得到N的正切值.
  SELECT TAN(0) FROM DUAL;

  246. TANH(N)

  得到N的雙曲正切值.
  SELECT TANH(0) FROM DUAL;

  247. TRUNC(N,M)

  得到在M位截斷的N的值.
  SELECT TRUNC(7.7788,2) FROM DUAL;

  248. COUNT()

  計算滿足條件的記錄數.
  SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';

  249. MAX()

  對指定的列求最大值.
  SELECT MAX(COL1) FROM TABLE1;

  250. MIN()

  對指定的列求最小值.
  SELECT MIN(COL1) FROM TABLE1;

  251. AVG()

  對指定的列求平均值.
  SELECT AVG(COL1) FROM TABLE1;

  252. SUM()

  計算列的和.
  SELECT SUM(COL1) FROM DUAL;

  253. TO_NUMBER(CHAR)

  將字符轉換為數值.
  SELECT TO_NUMBER('999') FROM DUAL;


  188. /*+NO_EXPAND*/

  对于WHERE后面的OR 或者IN-LIST的查询语句,NO_EXPAND将阻止其基于优化器对其进行扩展.例如:
  SELECT /*+NO_EXPAND*/ * FROM BSEMPMS WHERE DPT_NO='TDC506' AND SEX='M';

  189. /*+NOWRITE*/

  禁止对查询块的查询重写操作.

  190. /*+REWRITE*/

  可以将视图作为参数.

  191. /*+MERGE(TABLE)*/

  能够对视图的各个查询进行相应的合并.例如:
  SELECT /*+MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO
  FROM BSEMPMS A (SELET DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V
  WHERE A.DPT_NO=V.DPT_NO
  AND A.SAL>V.AVG_SAL;

  192. /*+NO_MERGE(TABLE)*/

  对于有可合并的视图不再合并.例如:
  SELECT /*+NO_MERGE(V) */ A.EMP_NO,A.EMP_NAM,B.DPT_NO
  FROM BSEMPMS A (SELET DPT_NO,AVG(SAL) AS AVG_SAL FROM BSEMPMS B GROUP BY DPT_NO) V
  WHERE A.DPT_NO=V.DPT_NO
  AND A.SAL>V.AVG_SAL;

  193. /*+ORDERED*/

  根据表出现在FROM中的顺序,ORDERED使ORACLE依此顺序对其连接.例如:
  SELECT /*+ORDERED*/ A.COL1,B.COL2,C.COL3 FROM TABLE1 A,TABLE2 B,TABLE3 C
  WHERE A.COL1=B.COL1 AND B.COL1=C.COL1;

  194. /*+USE_NL(TABLE)*/

  将指定表与嵌套的连接的行源进行连接,并把指定表作为内部表.例如:
  SELECT /*+ORDERED USE_NL(BSEMPMS)*/ BSDPTMS.DPT_NO,BSEMPMS.EMP_NO,BSEMPMS.EMP_NAM   FROM BSEMPMS,BSDPTMS
  WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  195. /*+USE_MERGE(TABLE)*/

  将指定的表与其他行源通过合并排序连接方式连接起来.例如:
  SELECT /*+USE_MERGE(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS
  WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  196. /*+USE_HASH(TABLE)*/

  将指定的表与其他行源通过哈希连接方式连接起来.例如:
  SELECT /*+USE_HASH(BSEMPMS,BSDPTMS)*/ * FROM BSEMPMS,BSDPTMS
  WHERE BSEMPMS.DPT_NO=BSDPTMS.DPT_NO;

  197. /*+DRIVING_SITE(TABLE)*/

  强制与ORACLE所选择的位置不同的表进行查询执行.例如:
  SELECT /*+DRIVING_SITE(DEPT)*/ * FROM BSEMPMS,DEPT@BSDPTMS
  WHERE BSEMPMS.DPT_NO=DEPT.DPT_NO;

  198. /*+LEADING(TABLE)*/

  将指定的表作为连接次序中的首表.

  199. /*+CACHE(TABLE)*/

  当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端。例如:
  SELECT /*+FULL(BSEMPMS) CAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  200. /*+NOCACHE(TABLE)*/

  当进行全表扫描时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最近使用端。例如:
  SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS;

  201. /*+APPEND*/

  直接插入到表的最后,可以提高速度.
  insert /*+append*/ into test1 select * from test4 ;

  202. /*+NOAPPEND*/

  通过在插入语句生存期内停止并行模式来启动常规插入.
  insert /*+noappend*/ into test1 select * from test4 ;

 

上下文章:

 

上一篇文章: Oracle中一个日期查找的误区 下一篇文章: 考试大学习教室[oracle问题集(一)]

相关文章:

  • 微软回避关于Windows7的七个问题
  • 从“番茄花园”看软件正版化问题
  • 如何手动创建oracle数据库
  • 七招解决Vista的加速与优化问题
  • oracle 多元化控制文件

相关软件:

  • 执业药师考试宝典 V6.1 中药版
  • 执业药师考试宝典 V6.1 西药版
  • 飞云网络教室 V1.7
  • 报检员考试全程通 V6.5
  • 春浪考试系统ASP版 V3.66
  • 计算机等级考试训练模拟软件(三级数据库技术) V1.01

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 案例学习Oracle错误:ORA-00060
  • 案例学习Oracle错误:ORA-00604
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • Oracle企业管理器(OEM 2.1)使用...
  • ORACLE数据库简介
  • 案例学习Oracle错误:ORA-00904

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 在ORACLE的存储过程中如何做简单的...
  • 案例学习Oracle错误:ORA-00060
  • 案例学习Oracle错误:ORA-00604
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • Oracle企业管理器(OEM 2.1)使用...
  • AIX下自动启动Oracle数据库与监听...

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有