oracle 常用语句

1.decode 函数(小版本的case when)

select  decode(pd.discount_id,null,‘‘,‘购买‘||pd.product_count||‘个,‘||pd.product_discount_rate||‘折优惠‘) as discount 
from b2b_product d right join b2b_product_hot ph on d.product_id = ph.product_id  left join b2b_dictionary a
on d.RRO_MARQUE = a.CODE  left join b2b_dictionaryindex b on d.RRO_BRAND = b.INDEXCODE
left join b2b_company c on d.COMPANY_ID = c.COMPANY_ID
left join b2b_product_discount pd on pd.product_id = d.product_id
order by ph.sort, ph.pro_type;

2.varchar排序

select p.code,
      
 case
        
 when p.state =
 ‘0‘ then
          decode(b.state,
 ‘1‘, ‘1‘, ‘0‘ )
        
 when p.state =
 ‘1‘ then
          decode(b.state,
 ‘0‘, ‘0‘, ‘1‘ )
      
 end as 
 
 from b2b_paytype_dic p, b2b_buyer_paytype b
where p.code = b.paytype_code(+)
  
 and (b.buyer_id =
 ‘ ‘ or b.id is null)
  
 order by to_number(p.code) 

3.case  then 语句

select case when order_state= 2 then ‘已兑换‘ when order_state= 3 then ‘交易成功‘ end ORDER_STATE , sum(order_count) as cnt from t_report_order t where 1=1 

4.手机号的显示sql 例如 (158****2640)

select  substr(r.mobile,1,3)||‘****‘||substr(r.mobile,8) as mobile from t_prize_record r;

5.给某个表备份
select * into xyq_college_20120301(表的别名) from xyq_college(表名)
6.convert 截取时间
  select *  from vas_mt_viewmt where phone =‘15966605352‘ and convert(nvarchar  (10),createtime,121)=‘2011-09-14‘
7.--将 字符串时间列,统一转化为时间,并减一
  update wfjs_useStats_woman
  set createdate=convert(varchar(10),cast(createdate as datetime)-1,120)
8.只复制表结构的sql
  create table b as select * from a where 1<>1 
9.即复制表结构又复制表中数据的sql
  create table b as select * from a 
10、将多个表数据插入一个表中
   insert into 目标表test(字段1。。。字段n) (select 字段1.。。。。字段n) from 表 union all select 字段1.....字段n from 表


本文出自 “散散的拼着” 博客,请务必保留此出处http://angle8888.blog.51cto.com/7952608/1437387

oracle 常用语句,布布扣,bubuko.com

oracle 常用语句

上一篇:oracle 触发器


下一篇:Spring-MVC4 + JPA2 + MySql-5.5 + SLF4J + JBoss WildFly-8.1开发环境搭建