ORACLE常用问题1000问全集(三)

原创 2004年08月13日 10:00:00
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                                                         
    显示用在缓存中块服务器后台进程上的统计信息。                     

Oracle常用问题1000问

1. Oracle安裝完成后的初始口令?  internal/oracle   sys/change_on_install   system/manager   scott/t...
  • zhaoxiaofei0929
  • zhaoxiaofei0929
  • 2014年10月20日 19:32
  • 517

Oracle 常见问题1000问(不积跬步,无以至千里)

1. Oracle 安装完成后的初始口令? internal/oracle sys/change_on_install system/manager scott/tiger sysman/o...
  • chenghaibing2008
  • chenghaibing2008
  • 2015年04月17日 10:20
  • 1530

Oracle常用傻瓜问题1000问

大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进步!  对ORACLE高手...
  • zhujiaxing666666
  • zhujiaxing666666
  • 2013年04月14日 19:41
  • 542

Oracle常用傻瓜问题1000问

大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进步! 对ORACLE高手来说是不...
  • sd8089730
  • sd8089730
  • 2013年08月24日 13:08
  • 366

Oracle中IN参数个数超过1000的解决方案

Oracle中IN参数个数超过1000的解决方案
  • machihaoyu
  • machihaoyu
  • 2017年05月05日 15:31
  • 531

“鸡翁一值钱5,鸡母一值钱3,鸡雏三值钱1。百钱买百鸡,问鸡翁、母、雏各几何?”java穷举法解题

穷举法概述(这是引用百度的介绍) 穷举法是一种针对于密码的破译方法。这种方法很像数学上的“完全归纳法”并在密码破译方面得到了广泛的应用。简单来说就是将密码进行逐个推算直到找出真正的密码为止。比如一个...
  • qq_27292113
  • qq_27292113
  • 2016年01月07日 16:30
  • 1352

oracle百问三

Oracle百问百答之基础部分(三) 21.数据库升级后,怎样确定是否升级成功? select *from dba_registry_history; 22.如何使用 Oracle Round函数 (...
  • u010050174
  • u010050174
  • 2013年12月16日 17:22
  • 422

oracle数据库查询语句in后面的参数个数超过1000的处理方式

在oracle中,in后面的参数个数超过1000个的sql语句拼装
  • a2229833
  • a2229833
  • 2017年11月09日 15:25
  • 209

java面试常用问题的总结

1:JDK,JRE,JVM分别是什么?它们之间有什么关系?     jdk是Java开发环境,jre是Java运行环境,jvm是Java虚拟机,jre包含jvm。     2:什么是环境变量?用...
  • t0404
  • t0404
  • 2016年07月12日 22:24
  • 2346

oracle基于3种方法的大数据量插入更新

过程插入更新的3种方法: a、逐条检查插入或更新,同时执行插入或更新 b、逐条merge into(逐条是为了记录过程日志与错误信息) c、基于关联数组的检查插入、更新,通过forall批量sq...
  • u012431409
  • u012431409
  • 2016年07月23日 03:26
  • 5006
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE常用问题1000问全集(三)
举报原因:
原因补充:

(最多只允许输入30个字)