oracle常用语句

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

成都创新互联是一家专注于成都网站设计、网站建设、外贸网站建设与策划设计,临洮网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:临洮等地区。临洮做网站价格咨询:028-86922220

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 表

分享标题:oracle常用语句
URL地址:http://pwwzsj.com/article/ihjgio.html