201. /*+NOCACHE(TABLE)*/ 当进行全表扫瞄时,CACHE提示能够将表的检索块放置在缓冲区缓存中最近最少列表LRU的最 近使用端 例如:
SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS; 202. /*+APPEND*/ 直接插入到表的最后,可以提高速度. insert /*+append*/ into test1 select * from test4 ; 203. /*+NOAPPEND*/ 通过在插入语句生存期内停止并行模式来启动常规插入. insert /*+noappend*/ into test1 select * from test4 ; Oracle内部函数篇 字符串 204. 如何得到字符串的第一个字符的ASCII值? ASCII(CHAR) SELECT ASCII('ABCDE') FROM DUAL; 结果: 65 205. 如何得到数值N指定的字符? CHR(N) SELECT CHR(68) FROM DUAL; 结果: D 206. 如何连接两个字符串? CONCAT(CHAR1,CHAR2) SELECT CONCAT('ABC','DEFGH') FROM DUAL; 结果: 'ABCDEFGH' 207. 如何将列中的数值代替为字符串? DECODE(CHAR,N1,CHAR1,N2,CHAR2...) SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL; 208. INITCAP(CHAR) 将字符串CHAR的第一个字符为大写,其余为小写. SELECT INITCAP('ABCDE') FROM DUAL; 209. LENGTH(CHAR) 取一字符串CHAR的长度. SELECT LENGTH('ABCDE') FROM DUAL; 210. LOWER(CHAR) 将字符串CHAR全部变为小写. SELECT LOWER('ABCDE') FROM DUAL; 211. LPAD(CHAR1,N,CHAR2) 用字符串CHAR2包括的字符左填CHAR1,使其长度为N. SELECT LPAD('ABCDEFG',10'123') FROM DUAL; 结果: '123ABCDEFG' 212. LTRIM(CHAR,SET) 从字符串CHAR的左边移去字符串SET中的字符,直到第一个不是SET中的字符为止. SELECT ('CDEFG','CD') FROM DUAL; 结果: 'EFG' 213. NLS_INITCAP(CHAR) 取字符CHAR的第一个字符大写,其余字符为小写. SELECT NLS_INITCAP('ABCDE') FROM DUAL; 214. NLS_LOWER(CHAR) 将字符串CHAR包括的字符全部小写. SELECT NLS_LOWER('AAAA') FROM DUAL; 215. NLS_UPPER(CHAR) 将字符串CHAR包括的字符全部大写. SELECT NLS_UPPER('AAAA') FROM DUAL; 216. REPLACE(CHAR1,CHAR2,CHAR3) 用字符串CHAR3代替每一个列值为CHAR2的列,其结果放在CHAR1中. SELECT REPLACE(EMP_NO,'123','456') FROM DUAL; 217. RPAD(CHAR1,N,CHAR2) 用字符串CHAR2右填字符串CHAR1,使其长度为N. SELECT RPAD('234',8,'0') FROM DUAL; 218. RTRIM(CHAR,SET) 移去字符串CHAR右边的字符串SET中的字符,直到最后一个不是SET中的字符为止. SELECT RTRIM('ABCDE','DE') FROM DUAL; 219. SUBSTR(CHAR,M,N) 得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为一个字符的. SELECT SUBSTR('ABCDE',2,3) FROM DUAL; 220. SUBSTRB(CHAR,M,N) 得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为二个字符的. SELECT SUBSTRB('ABCDE',2,3) FROM DUAL; 221. TRANSLATE(CHAR1,CHAR2,CHAR3) 将CHAR1中的CHAR2的部分用CHAR3代替. SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM DUAL; 222. UPPER(CHAR) 将字符串CHAR全部为大写. 223. ADD_MONTHS(D,N) 将N个月增加到D日期. SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL; 224. LAST_DAY(D) 得到包含D日期的月份的最后的一天的日期. SELECT LAST_DAY(SYSDATE) FROM DUAL; 225. MONTH_BETWEEN(D1,D2) 得到两个日期之间的月数. SELECT MONTH_BETWEEN(D1,D2) FROM DUAL; 226. NEXT_DAY(D,CHAR) 得到比日期D晚的由CHAR命名的第一个周日的日期. SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL; 227. ROUNT(D,FMT) 得到按指定的模式FMT舍入到的最进的日期. SELECT ROUNT('2003/09/20',MONTH) FROM DUAL; 228. SYSDATE 得到当前系统的日期和时间. SELECT SYSDATE FROM DUAL; 229. TO_CHAR(D,FMT) 将日期D转换为FMT的字符串. SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL; 230. TO_DATE(CHAR,FMT) 将字符串CHAR按FMT的格式转换为日期. SELECT TO_DATE('2003/09/20','YYYY/MM/DD') FROM DUAL; 231. ABS(N) 得到N的绝对值. SELECT ABS(-6) FROM DUAL; 232. CEIL(N) 得到大于或等于N的最大整数. SELECT CEIL(5.6) FROM DUAL; 233. COS(N) 得到N的余弦值. SELECT COS(1) FROM DUAL; 234. SIN(N) 得到N的正弦值. SELECT SIN(1) FROM DUAL; 235. COSH(N) 得到N的双曲余弦值. SELECT COSH(1) FROM DUAL; 236. EXP(N) 得到N的E的N次幂. SELECT EXP(1) FROM DUAL; 237. FLOOR(N) 得到小于或等于N的最小整数. SELECT FLOOR(5.6) FROM DUAL; 238. LN(N) 得到N的自然对数. SELECT LN(1) FROM DUAL; 239. LOG(M,N) 得到以M为底N的对数. SELECT LOG(2,8) FROM DUAL; 240. MOD(M,N) 得到M除以N的余数. SELECT MOD(100,7) FROM DUAL; 241. POWER(M,N) 得到M的N幂. SELECT POWER(4,3) FROM DUAL; 242. ROUND(N,M) 将N舍入到小数点后M位. SELECT (78.87653,2) FROM DUAL; 243. SIGN(N) 当N<0时,得到-1; 当N>0时,得到1; 当N=0时,得到0; SELECT SIGN(99) FROM DUAL; 244. SINH(N) 得到N的双曲正弦值. SELECT SINH(1) FROM DUAL; 245. SORT(N) 得到N的平方根,N>=0 SELECT SORT(9) FROM DUAL; 246. TAN(N) 得到N的正切值. SELECT TAN(0) FROM DUAL; 247. TANH(N) 得到N的双曲正切值. SELECT TANH(0) FROM DUAL; 248. TRUNC(N,M) 得到在M位截断的N的值. SELECT TRUNC(7.7788,2) FROM DUAL; 249. COUNT() 计算满足条件的记录数. SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA'; 250. MAX() 对指定的列求最大值. SELECT MAX(COL1) FROM TABLE1; 251. MIN() 对指定的列求最小值. SELECT MIN(COL1) FROM TABLE1; 252. AVG() 对指定的列求平均值. SELECT AVG(COL1) FROM TABLE1; 253. SUM() 计算列的和. SELECT SUM(COL1) FROM DUAL; 254. TO_NUMBER(CHAR) 将字符转换为数值. SELECT TO_NUMBER('999') FROM DUAL; 大家在应用ORACLE的时候可能会碰到很多看起来不难的问题, 非凡对新手来说, 今天我简 单把它总结一下, 发布给大家, 希望对大家有帮助!
和大家一起探讨, 共同进步! 对ORACLE高手来说是不用看的. ORACLE内部函数篇 255. CHARTOROWID(CHAR) 将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包 含外部语法的ROWID的18字符的字符串. SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO'); NAME : LEIXUE 256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET) CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标 识的字符集 SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONV
|