ORACLE中常用SQl

1、drop table表后恢复数据

select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin;
--闪回
flashback table 表名 to before drop;

flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop;

-------------------------------恢复表数据  ctrl+E----------------------------
select * from v$sqlarea order by first_load_time desc
2017-08-25/21:33:13
create table CIITC_total_check_sql_new --新表
as select * from CIITC_total_check_sql--你操作的那张表 
as of timestamp to_timestamp('2017-08-25 21:33:13','yyyy-mm-dd hh24:mi:ss');

 

select * from CIITC_total_check_sql_new

操作成功后你看看新表里面是不是你之前的数据.如果是的话再把新表数据弄到原表就好了

2、Oracle trunc()函数的用法

/**************日期********************/
1.select trunc(sysdate) from dual ; --2011-3-18  今天的日期为2011-3-18
2.select trunc(sysdate, 'mm')   from   dual  --2011-3-1    返回当月第一天.
3.select trunc(sysdate,'yy') from dual  --2011-1-1       返回当年第一天
4.select trunc(sysdate,'dd') from dual  --2011-3-18    返回当前年月日
5.select trunc(sysdate,'yyyy') from dual  --2011-1-1   返回当年第一天
6.select trunc(sysdate,'d') from dual  --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual   --2011-3-18 14:00:00   当前时间为14:41   
8.select trunc(sysdate, 'mi') from dual  --2011-3-18 14:41:00   TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual  --123.458
15.select trunc(123) from dual  --123
16.select trunc(123,1) from dual --123

17.select trunc(123,-1) from dual --120

3、新建一个自增序列

select Count(*) From USER_SEQUENCES Where SEQUENCE_NAME='SEQ_LCINSUREDINFO';
--删除创建好的序列
drop sequence SEQ_LCBNFINFO;
--SEQ_LCRISKINFO名字必须全部大写,LCRISKINFO表示表名

create sequence SEQ_LCRISKINFO 

minvalue 1

 maxvalue 99999999999999999999 

start with 1 

increment by 1 

nocache;

---------------------------------为自增的id赋值-----------------------------------------------
select SEQ_LCCONTINFO.nextval from dual

--String id = tExeSQL.getOneValue(sql);

4、按序排列

-----------------------降序排列------------------------------------------
SELECT * FROM Customers ORDER BY Country DESC;
-------------------------升序排列-------------------------------------------

SELECT * FROM Customers ORDER BY Country ASC;

5、使用 SQL [charlist] 通配符

-- % 替代 0 个或多个字符     _ 替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist] or [!charlist] 不在字符列中的任何单一字符 
SELECT * FROM Customers WHERE City LIKE '[bsp]%';    --选取 City 以 "b"、"s" 或 "p" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '[a-c]%';    --选取 City 以 "a"、"b" 或 "c" 开始的所有客户
SELECT * FROM Customers WHERE City LIKE '[!bsp]%';   --选取 City 不以 "b"、"s" 或 "p" 开始的所有客户

SELECT * FROM Customers WHERE City LIKE '_erlin';    --选取 City 以一个任意字符开始,然后是 "erlin" 的所有客户

6、查询oracle中指定用户的所有表

SELECT * FROM ALL_TABLES WHERE OWNER='用户名';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值