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;
如有問題歡迎大家一起探討﹗
待續……
