201. /*+NOCACHE(TABLE)*/
当进行全表扫描 表LRU的最近使用端 | 时,CACHE提示能够将表的检索 | 块放置在缓冲区缓存中最近最少列 |
例如: |
SELECT /*+FULL( | BSEMPMS) NOCAHE(BSEMPMS) */ | EMP_NAM FROM BSEMPMS; |
202. /*+APPEND*/ |
直接插入到表的最后,可以提高速度。 |
insert /*+appen | d*/ into test1 select * from | test4 ; |
203. /*+NOAPPEND*/ |
通过在插入语句生存期内停止并行模式来启动常规插入。 |
insert /*+noappend*/ into t | est1 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','DEFG | H') FROM DUAL; |
结果: 'ABCDEFGH' |
207. 如何将列中的数值代替为字符串? |
DECODE(CHAR,N1,CHAR1,N2,CHAR2...) |
SELECT DECODE( | DAY,1,'SUN',2,'MON') FRO | M 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_INI | TCAP('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,'12 | 3','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_MON | THS(SYSDATE,5) FROM DUAL; |
224. LAST_DAY(D) |
得到包含D日期的月份的最后的一天的日期。 |
SELECT LAST_DAY(SYSDATE) FROM DUAL; |
225. MONTH_BETWEEN(D1,D2) |
得到两个日期之间的月数。 |
SELECT MONTH_BETWEEN(D1,D | 2) FROM DUAL; |
226. NEXT_DAY(D,CHAR) |
得到比日期D晚的由CHAR命名的第一个周日的日期。 |
SELECT NEXT_DA | Y(TO_DATE('2003/09/20'),'SA | TDAY') FROM DUAL; |
227. ROUNT(D,FMT) |
得到按指定的模式FMT舍入到的最进的日期。 |
SELECT ROUNT(' | 2003/09/20',MONTH) FROM DUA | L; |
228. SYSDATE |
得到当前系统的日期和时间。 |
SELECT SYSDATE FROM DUAL; |
229. TO_CHAR(D,FMT) |
将日期D转换为FMT的字符串。 |
SELECT TO_CHAR(SYSDATE,'Y | YYY/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 TABLE | 1 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; |
255. CHARTOROWID(CHAR) |
将包含外部语法ROWID的CHAR或 须是包含外部语法的ROWID的18字符的字 | VARCHAR2数值转换为内部的二进制语法,参数CHAR必 符串。 |
SELECT NAME FRO | M BSEMPMS WHERE ROWID=CHARTO | ROWID('AAAAfZAABAAACp8AAO'); |
NAME : LEIXUE |
256. CONVERT(CHAR,D | EST_CHAR_SET,SOURCE_CHAR_SE | T) |
CONVERT将字符串CHAR中的字符 DEST_CHAR_SET标识的字符集 | 从SOURCE_CHAR_SET标识的字符集转换为由 |
SELECT CONVERT('GroB','US7 | ASCII','WE8HP') 'CONVERSION' FROM PUBS; |
CONVERSION: Gross |
257. HEXTORAW(CHAR) |
将包含十六进制的CHAR转换为一个RAW数值。 |
INSERT INTO BSE | MPMS(RAW_COLUMN) SELECT HEXT | ORAW('7D') FROM TEST; |
258. RAWTOHEX(RAW) |
将RAW数值转换为一个包含十六进制的CHAR值。 |
SELECT RAWTOHEX | (RAW_COLUMN) 'CONVERSION' FR | OM BSEMPMS; |
CONVERSION: 7D |
259. ROWIDTOCHAR(ROWID) |
将一个ROWID数值转换为VARCHAR2数据类型。 |
SELECT ROWID FR | OM BSEMPMS WHERE ROWIDTOCHAR | (ROWID) LIKE '%BR1AAB%'; |
260. TO_MULTI_BYTE(CHAR) |
将CHAR中的单字节转换为等价的多字节字符。 |
SELECT TO_MULTI | _BYTE('ASFDFD') FROM TEST; |
261. TO_SINGLE_BYTE(CHAR) |
将CHAR中的多字节转换为等价的单字节字符。 |
SELECT TO_SINGL | E_BYTE('ASFDFD') FROM TEST; |
262. TRANSLATE USING(TEXT USING | {CHAR_CS|NCHAR_CS}) |
将文本TEXT按照指定的转换方式转换成数据库字符集和民族字符集。 |
其中TEXT是待转换的。 |
USING CHAR_CS参 | 数转换TEXT为数据库字符集,输 | 出数据类型是VARCHAR2。 |
USING NCHAR_CS | 参数转换TEXT为数据库字符集, | 输出数据类型是NVARCHAR2。 |
CREATE TABLE TEST(CHAR_COL | CHAR(20),NCHAR_COL NCHAR(20)); |
INSERT INTO TEST VALUES('HI,N'BYE'); |
SELECT * FROM TEST; |
263. DUMP(EXPR,RE | TURN_FORMAT,START_POSITION | ,LENGTH) |
返回一个包含数据类型代码, 当前数据库字符集,数据类型按照下面规 | 字节长度等内部表示信息的VARCHAR2值.返回结果是 定的内部数据类型的编码作为一个数字进行返回: |
代码 数据类型 |
0 VARCHAR2 |
1 NUMBER |
8 LONG |
12 DATE |
23 RAW |
24 LONG RAW |
69 ROWID |
96 CHAR |
106 MSSLABEL |
参数RETUEN_FORMAT指定按照下面的基数表示返回的数值。 |
RETURN_FORMAT RESULT |
8 8进制 |
10 10进制 |
16 16进制 |
17 单字符表示 |
如果参数RETURN_FORMAT没有指定,则按十进制表示返回。 |
如果参数START_P 的字节将被返回,缺省是返 | OSITION和LENGTH被指定,则从S 回整数表示。 | TART_POSITION开始的长为LENGTH |
SELECT DUMP('ABC',1016) FROM TEST; |
select dump(ena | me,8,3,2) 'example' from | emp where name='ccbzzp'; |
264. empty_b|clob() |
返回一个空的LOB定位符,用在 化LOB列或将其属性置为空。 | 初始化LOB变量,或用在INSERT及UPDATE声明去初始 |
INSERT INTO TAB | LE1 VALUES(EMPTY_BLOB()); |
UPDATE TABLE1 SET CLOB_COL= | EMPTY_BLOB(); |
265. BFILENAME('DIRECTORY','FILENAME') |
返回一个BFILE定位符,相关的 DIRECTORY是指在服务器的文件系统上实 系统的文件名。 | 二进制LOB物理文件在服务器的文件系统上.目录 际搜索路径全名的别名. FILENAME是指服务器的文件 |
INSERT INTO FIL | E_TAB VALUES(BFILENAME('LOB_ | DIR','IMAGE1.GIF')); |
266. GREATEST(EXPR,EXPR,...) |
GREATEST返回参数的最大值。 |
SELECT GREATEST('HARRY','H | ARRIOT','HAROLD') 'SAMPLE' FROM TABLE1; |
267. LEAST(EXPR,EXPR,...) |
LEAST返回参数的最小值。 |
SELECT LEAST('HARRY','HARR | IOT','HAROLD') 'SAMPLE' FROM TABLE1; |
268. NLS_CHARSET_DECL_LEN(BYTECN | T,CSID) |
返回一个NCHAR列的宽度。 |
SELECT NLS_CHARSET_DECL_LEN TABLE1; | (200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM |
269. NLS_CHARSET_ID(TEXT) |
返回相应于NLS字符集名字的NLS字符集ID数。 |
SELECT NLS_CHARSET_D('JADFD | FFDF') FROM TABLE1; |
270. NLS_CHARSET_NAME(N) |
返回相应于ID数N的NLS字符集名称。 |
SELECT NLS_CHAR | SET_NAME(2) FROM TABLE1; |
271. NVL(EXPR1,EXPR2) |
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1。 |
SELECT NAME,NV | L(TO_CHAR(COMM),'NOT APPLIC | ATION') FROM TABLE1; |
272. UID |
返回唯一标识当前数据库用户的整数。 |
SELECT UID FROM TABLE1; |
273. USER |
用VARCHAR2数据类型返回当前ORACLE用户的名称。 |
SELECT USER,UID FROM TABLE1; |
274. USERENV(OPTION) |
返回当前的会话信息。 |
OPTION='ISDBA'若当前是DBA角 | 色,则为TRUE,否则FALSE。 |
OPTION='LANGUAGE'返回数据库的字符集。 |
OPTION='SESSIONID'为当前会话标识符。 |
OPTION='ENTRYID'返回可审计的会话标识符。 |
OPTION='LANG'返回会话语言名称的ISO简记。 |
OPTION='INSTANCE'返回当前的实例。 |
SELECT USERENV('LANGUAGE') FROM DUAL; |
275. VSIZE(EXPR) |
返回EXPR内部表示的字节数。 |
SELECT NAME,VSIZE(NAME) FR | OM TABLE1; |
276. DEREF(E) |
返回参数E的对象引用。 |
SELECT DEREF(C2) FROM TABLE1; |
277. REFTOHEX(R) |
将参数R转换为16进制。 |
SELECT REFTOHEX(C2) FROM TABLE1; |
278. MAKE_REF(TABLE,KEY,KEY...) |
通过把给定的键作为主键来创建给定视图对象中一行的引用。 |
CREATE TYPE T1 AS OBJECT(A | NUMBER,B NUMBER); |
CREATE TABLE TB1(C1 NUMBER | ,C2 NUMBER,PRIMARY KEY(C1,C2)); |
CREATE VIEW V1 | OF T1 WITH OBJECT OID(A, AS | SELECT * FROM TB1; |
SELECT MAKE_REF(V1,1,3) FROM PUBS; |
279. STDDEV(DISTINCT|ALL X) |
STDDEV给出一组行值的标准差。 |
SELECT STDDEV(SALARY) AS EX | AMPLE FROM EMPLOYEE; |
280. VARIANCE(DISTINCT|ALL X) |
VARIANCE返回一组行中所有VALUE的方差。 |
SELECT VARIANCE(SALARY) AS | EXAMPLE FROM EMPLOYEE; |
9I管理的V$视图 |
281. V$ACCESS |
显示当前被锁定的数据库中的对象及正在访问他们的会话。 |
282. V$ACTIVE_INSTANCES |
为当前安装的数据库中出现的所有实例建立从实例名到实例号的映射。 |
283. V$ACTIVE_SESS_POOL_MTH |
所有活动的会话池资源分配方法。 |
284. V$AQ |
当前数据库中的队列的统计量。 |
285. V$ARCHIVE |
归档所需的重做日志文件中的信息。 |
286. V$ARCHIVE_DEST |
当前实例的所有归档日志目的文件及它们的当前值,模式,状态。 |
287. V$ARCHIVE_PROCESSES |
为一个实例提供不同的ARCH进程状态的信息。 |
288. V$ARCHIVE_LOG |
控制文件中的归档日志信息。 |
289. V$BACKUP |
所有联机数据文件的备份状态。 |
290. V$BACKUP_ASYNC_IO |
从控制文件中显示备份集的信息。 |
291. V$BACKUP_CORRUPTION |
从控制文件中显示数据文件备份中有关损坏的信息。 |
292. V$BACKUP_DATAFILE |
从控制文件中显示备份数据文件和备份控制文件的信息。 |
293. V$BACKUP_DEVICE |
显示关于支持备份设备的信息。 |
294. V$BACKUP_PIECE |
从控制文件中显示备份块的信息。 |
295. V$BACKUP_REDOLOG |
从控制文件中显示关于备份集中归档日志的信息。 |
296. V$BACKUP_SET |
从控制文件中显示备份集的信息。 |
297. V$BACKUP_SYNC_IO |
从控制文件中显示备份集的信息。 |
298. V$BGPROCESS |
描述后台进程。 |
299. V$BH |
是9I的实时应用集 | 群视图.为系统全局区中的每一 | 个缓冲区给出了状态和探查次数。 |
300. V$BSP |
显示用在缓存中块服务器后台进程上的统计信息。 |