Oracle 学习7

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;

 

 

虚擬字段

133. CURRVAL nextval

为表创建序列

CREATE SEQUENCE EMPSEQ ... ;

SELECT empseq.currval FROM DUAL ;

自动插入序列的数值

INSERT INTO emp

VALUES (empseq.nextval, 'LEWIS', 'CLERK',

7902, SYSDATE, 1200, NULL, 20) ;

 

134. ROWNUM

按设定排序的行的序号

SELECT * FROM emp WHERE ROWNUM < 10 ;

 

135. ROWID

返回行的物理地址

SELECT ROWID, ename FROM emp WHERE deptno = 20 ;

 

136. N秒转换为时分秒格式?

set serverout on

declare

N number := 1000000;

ret varchar2(100);

begin

ret := trunc(n/3600) || '小时' || to_char(to_date(mod(n,3600),'sssss'),'fmmi" "ss""') ;

dbms_output.put_line(ret);

end;

 

137. 如何查询做比较大的排序的进程?

SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#,

a.username, a.osuser, a.status

FROM v$session a,v$sort_usage b

WHERE a.saddr = b.session_addr

ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ;

 

138. 如何查询做比较大的排序的进程的SQL语句?

select /*+ ORDERED */ sql_text from v$sqltext a

where a.hash_value = (

select sql_hash_value from v$session b

where b.sid = &sid and b.serial# = &serial)

order by piece asc ;

 

139. 如何查找重复记录?

SELECT * FROM TABLE_NAME

WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D

WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

 

140. 如何删除重复记录?

DELETE FROM TABLE_NAME

WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D

WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值