Oracle常用sql语句

15410年前 (2014-09-01)oracle数据库8318

1.
多行数据一行显示sql:(用sum函数或max函数,当lc为1时DQSYJRZC的值) sum函数只能查字段类型为number型的,若字段值是汉字则用max函数
select nsrsbh , sum(decode(lc,1,DQSYJRZC)) JYXJRZC1,sum(decode(lc,2,DQSYJRZC)),sum(decode(lc,3,DQSYJRZC)),sum(decode
(lc,4,DQSYJRZC)),sum(decode(lc,5,DQSYJRZC)) JYXJRZC2 from sb_nd_f07 t
where nsrsbh='371325751788249' and t.skqsrq=20120101 and t.skjzrq=20121231 group by nsrsbh


2.修改表名sql:
rename gsj_wsfwt_dm_swjg_ds to gsj_nsxydj_dm_swjg_ds;

3.
把空值转换成字符串:
decode(TT.BGYY,null,'')
数据库字符串连接:(用||)
'评定为' || tt.pdjg || '级。' || decode(TT.BGYY,null,'')

4.
把查询一个表的数据插入另一个表:
insert into gsj_nsxydj_gy_pdlc_ls(id,slh,nsrsbh,nsrmc,wsdm,lzzt,clsj,clry)
select gsj_gy_pdlc_ls.nextval,t.slh,t.nsrsbh,t.nsrmc,t.wsdm,t.dqzt,clsj,'"+dqry.getSwry_dm()+"' from gsj_nsxydj_gy_pdlc t where
t.nsrsbh = '"+data.getNsrsbh()+"' and t.pc_dm = '"+data.getPc_dm()+"' and t.wsdm = 'pd001'"

5.
强制使用索引:
select /*+index(dj_nsrxx IDX_DJ_NSRXX_P_NSRSBH) */ * from dj_nsrxx

6.
 减去(查询一个表比另一个表多余的数据)
select d.nsrsbh
from temp_bd d
minus
select d.nsrsbh
from temp_bd2 d

7
--查询重复记录
select t.nsrsbh, count(t.nsrsbh)
  from cs_bd2 t
having count(t.nsrsbh) > 1
group by t.nsrsbh

多个字段查询重复记录

--重复数据只显示一条(去重复):
select max(p_ID),POI_ID,t_id from T_TEM_PLACEINFO group by POI_ID,t_id
 
--删除重复数据:
delete from T_TEM_PLACEINFO where rowid not in (select min(rowid) from T_TEM_PLACEINFO group by POI_ID,t_id );


8.
分析表;analyze table gsj_nsxydj_zzdf_zd compute statistics

9.截字符串:
select substr(t.nsrsbh,-9)
  from dj_nsrxx t
where t.nsrsbh = '371325751788249'--------751788249

10.查询数据的对应行数:
select rownum from zzs_xgmnsr_basedata_2012 t

11.
.复制表结构建表:
   create table Sb_Cwbb_Zcfzb_2013 as select * from SB_CW_ZCFZB_2007 where 1=2;
   从另一表里抽数据
  insert into table1 select *from  user.table2

12
条件sql语句(case....when....then.....end):
select t.ywlx_dm,(case ywlx_dm when '0072'  then '呵呵' when 'XG01' then '小规模' end) ywlx
from dm_ywcd t where t.ywlx_dm in ('0072','XG01')

13
表解锁:
SELECT OBJECT_ID,SESSION_ID,SERIAL#,
ORACLE_USERNAME,OS_USER_NAME,S.PROCESS
FROM V$LOCKED_OBJECT A,
V$SESSION S WHERE A.SESSION_ID=S.SID
查出被lock 的对象
然后 alter system kill session 'sid,serial#';

14.
查询用户所在的表空间:
select username,default_tablespace from dba_users order by username;

15.
添加表字段:
alter table GSJ_WSFWT_KYDJ_HHRTZQK add (HHRZJHM varchar2(20),HHRZJZL     varchar2(20) );
修改表字段:
alter table GSJ_WSFWT_DM_ZJ modify (ZJ_DM char(3))。

16
创建临时表 :
CREATE GLOBAL TEMPORARY table  tabxml (str1 clob )
ON COMMIT DELETE ROWS


23.sql计算;to_char((B-C)/decode(C,0,1,C)*100,'FM999990.00') D,

24. 查询12个月之前的时间:
 select add_months( sysdate,-12 ) from dual;

23.查看客户端的字符集:
select userenv ('language') from dual;

24.查询所有表名
select * from user_tables;

25.批量更改某些字段(税务机关为例):
update xydj.nsxydj_dj_nsrxx a set (zgswry_dm,swjg_dm,nsr_swjg_dm)=(select ssgly_dm,zgswskfj_dm,zgswskfj_dm from hxDj.dj_nsrxx@gt3_sjqfk   b where
a.djxh = b.djxh);

26.批量评定 D级原因统一设置了一样的,现在根据违章代码,修改对应的原因;
update xydj.gsj_nsxydj_zzdj_gs a set bgyy =(select max(c.fjsx) from xydj.nsxydj_dj_nsrxx dj,xydj.gsj_nsxydj_zb_djxx b,xydj.gsj_nsxydj_dm_ypfj c where 
b.wfwzdm=c.pfbz_dm and d.djxh = b.djxh and a.nsrsbh = dj.nsrsbh )
where pdjg='D' and bgyy = '认定为非正常户的';



27.sql如何判断是否含有中文

使用函数length和lengthb来判别

    使用函数length与lengthb来判别,是基于中文字符占用2~4个字节,而ASCII字符占用一个字节,那么对比LENGTH与LENGTHB就会不一样。这样就能判别字段中是否包含中文字符,但是跟ASCIISTR一样,如果里面的非ASCI字符包含非中文,它一样不能判别。依然有取巧嫌疑。

SELECT NAME_ONE FROM TEST WHERE LENGTH(NAME_ONE) != LENGTHB(NAME_ONE);


28.创建dblink语句

create public database link TESTLINK2(dblink名) connect to WANGYON(数据库用户名) identified by "123456"(密码) USING 'ORCL21'(数据库实例名)

查询WANGYOU中的user表

select * from    WANGYOU.user@TESTLINK2 order by id



本文原创,转载必追究版权。

分享给朋友:

相关文章

每次开机checking file system on d

 解决方案:点击左下角(开始)- (运行)输入(CMD)回车 - 进入CMD界面- 输入(d:)回车 - 输入(chkdsk /f)中间有空格。回车,出现提示按Y键,完成后,重启一次会检...

java解析JSON 数组数据 实例

 public  static void main (String args[]){  String sJson ="[{'acceptTim...

使用Myeclipse 8.5开发基于JAX-WS的Web service实例

使用Myeclipse 8.5开发基于JAX-WS的Web service实例

 本文为Web service 开发入门篇,主要介绍在Myeclipse 8.5环境下开发Web service的服务程序和客户端程序的基本流程。 在Weblogic 11g...

MyEclipse 10 性能大优化

MyEclipse 10 性能大优化

 MyEclipse 10已发布,新版本的特性能够大大提高开发者的效率。但同时,由于电脑配置的原因,很多开发者在使用MyEclipse的时候,速度都不是很快,需要我们对MyEclipse进行...

js/jquery 日历控件及实例下载

js/jquery 日历控件及实例下载

实现日历控件效果:页面:<link href="${base}/resource/${profile.path}/css/lhgcalendar.css" rel="...

js/jquery 实现点击图片更换头像(图片)实例

    总之一句话, 可以先将 file类型 的input 隐藏 起来,通过 图片(头像)的onclick事件 来触发 file 的onclick事件。1.引入外部js:...

评论列表

点我收录您
9年前 (2015-10-15)

SQL语句真是在啥数据库里都少不了

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。