数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
ORACLE常用傻瓜問題1000問(之三)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

              ORACLE常用傻瓜問題1000問(之三)

 

作者:  CCBZZP

 

        大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!

 

        對ORACLE高手來說是不用看的.

 

88. CHR()的反函數是?

    ASCII()

    SELECT CHAR(65) FROM DUAL; 

    SELECT ASCII('A') FROM DUAL;

 

89. 字符串的連接

    SELECT CONCAT(COL1,COL2) FROM TABLE ;

    SELECT COL1||COL2 FROM TABLE ;

 

90. 怎么把select出来的结果导到一个文本文件中?

    SQL>SPOOL  C:\ABCD.TXT;

    SQL>select *  from table;

    SQL >spool off;

 

91. 怎样估算SQL执行的I/O ?

    SQL>SET AUTOTRACE ON ;

    SQL>SELECT * FROM TABLE;

    OR

    SQL>SELECT *  FROM  v$filestat ;

可以查看IO

 

92. 如何在sqlplus下改变字段大小?

    alter table table_name modify (field_name varchar2(100));

    改大行,改小不行(除非都是空的)

93. 如何查询某天的数据?

    select * from table_name where trunc(日期字段)=to_date('2003-05-02','yyyy-mm-dd');

 

94. sql 语句如何插入全年日期?

create table BSYEAR (d date);
insert into BSYEAR
select to_date('20030101','yyyymmdd')+rownum-1
from all_objects
where rownum <= to_char(to_date('20031231','yyyymmdd'),'ddd');

 

95. 如果修改表名?

  alter table old_table_name rename to new_table_name;

 

96. 如何取得命令的返回状态值?

sqlcode=0

 

97. 如何知道用户拥有的权限?

    SELECT * FROM dba_sys_privs ;

 

98. 从网上下载的ORACLE9I与市场上卖的标准版有什么区别?

          从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于 商业用途,否则侵权。

 

99. 怎样判断数据库是运行在归档模式下还是运行在非归档模式下?

进入dbastudio,历程--〉数据库---〉归档查看。

 

100. sql>startup pfile和ifile,spfiled有什么区别?

pfile就是Oracle传统的初始化参数文件,文本格式的。
ifile类似于c语言里的include,用于把另一个文件引入
spfile是9i里新增的并且是默认的参数文件,二进制格式
startup后应该只可接pfile

 

101. 如何搜索出前N条记录?

SELECT * FROM empLOYEE WHERE ROWNUM < n
ORDER BY empno;

 

102. 如何知道机器上的Oracle支持多少并发用户数?

        SQL>conn internal  ;
SQL>show parameter processes ;

 

103. db_block_size可以修改嗎?

     一般不可以﹐不建議這樣做的。

 

104. 如何统计两个表的记录总数?

   select (select count(id) from aa)+(select count(id) from bb) 总数 from dual;

 

105. 怎样用Sql语句实现查找一列中第N大值?

   select * from
(select t.*,dense_rank() over (order by sal) rank from employee)
where rank = N;



 

106. 如何在给现有的日期加上2年?(

    select add_months(sysdate,24) from dual;

 

107. USED_UBLK为负值表示什么意思?

       It is "harmless".

 

108. Connect string是指什么?

       应该是tnsnames.ora中的服务名后面的内容

 

109. 怎样扩大REDO LOG的大小?

        建立一个临时的redolog组,然后切换日志,删除以前的日志,建立新的日志。

 

110. tablespace 是否不能大于4G?

   没有限制.

 

111. 返回大于等于N的最小整數值?

    SELECT CEIL(N)  FROM DUAL;

 

112. 返回小于等于N的最小整數值?

    SELECT FLOOR(N)  FROM DUAL;

 

113. 返回當前月的最后一天?

     SELECT LAST_DAY(SYSDATE)  FROM DUAL;

 

114. 如何不同用戶間數據導入?

  IMP  SYSTEM/MANAGER  FILE=AA.DMP  FROMUSER=USER_OLD   TOUSER=USER_NEW  ROWS=Y  INDEXES=Y ;

 

115. 如何找数据库表的主键字段的名称?

   SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and   table_name='TABLE_NAME';
 

116. 兩個結果集互加的函數?

   SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;
  SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;
  SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;
 

117. 兩個結果集互減的函數?
 SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;
 

118. 如何配置Sequence?

    建sequence seq_custid
  create sequence seq_custid start 1 incrememt by 1;
  建表时:
  create table cust
  { cust_id smallint not null,
  ...}
  insert 时:
  insert into table cust
  values( seq_cust.nextval, ...)
 

日期的各部分的常用的的寫法

119>.取時間點的年份的寫法:
     SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;

 

120>.取時間點的月份的寫法:
     SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;

 

121>.取時間點的日的寫法:
     SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;

 

122>.取時間點的時的寫法:
     SELECT TO_CHAR(SYSDATE,'HH24') FROM DUAL;

 

123>.取時間點的分的寫法:
     SELECT TO_CHAR(SYSDATE,'MI') FROM DUAL;

 

124>.取時間點的秒的寫法:
     SELECT TO_CHAR(SYSDATE,'SS') FROM DUAL;

 

125>.取時間點的日期的寫法:
     SELECT TRUNC(SYSDATE) FROM DUAL;

 

126>.取時間點的時間的寫法:
     SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;

 

127>.日期,時間形態變為字符形態
     SELECT TO_CHAR(SYSDATE) FROM DUAL;

 

128>.將字符串轉換成日期或時間形態:
     SELECT TO_DATE('2003/08/01') FROM DUAL;

 

129>.返回參數的星期几的寫法:
     SELECT TO_CHAR(SYSDATE,'D') FROM DUAL;

 

130>.返回參數一年中的第几天的寫法:
     SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;

 

131>.返回午夜和參數中指定的時間值之間的秒數的寫法:
     SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL;

 

132>.返回參數中一年的第几周的寫法:
     SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;
  
  如有問題歡迎大家一起探討﹗

 

     待續……

 

 




相关文章

相关软件