笔者日常工作中常用到的sql语句,现总结如下,留作日后查看。

1、按照两列中的最大值取 ,只取两列其中的一列

SELECT *  FROM t_doc T  ORDER BY GREATEST(T.Load_Count,T.Read_Count) desc

2、取两列之和
select t.*,(nvl(T.Load_Count,0)+nvl(T.Read_Count,0 )) as c FROM t_doc T order by c desc 3、取两列字符串连接 select T.Load_Count||T.Read_Count FROM t_doc T 4、获取oracle数据库当前用户下所有表名和表名的注释 select a.TABLE_NAME,b.COMMENTS
from user_tables a,user_tab_comments b
WHERE a.TABLE_NAME=b.TABLE_NAME
order by TABLE_NAME 5、两列结果合并为一列输出(两列数据类型必须一样) select a from tb union all select b from tb 6、将一列多行拼接成一行 select wmsys.wm_concat(name) from table_name
//wmsys.wm_concat()拼接字段 以逗号分开
7、 不是 SELECTed 表达式

Oracle 数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”:
select distinct t.name from auth_employee t order by t.auth_employee_id asc

原来:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应。

网上搜到解释如下:

在ORDER BY中指定多个列,结果将先按照子句中的第一列排序,然后第二个,依此类推。

在SELECT中未出现的列名也可用于ORDER BY 子句中,只要TABLE中有就行。

但如果SELECT子句中出现了DISTINCT关键字,则只能用出现过的列名,

而且如果SELECT子句中使用了任何运算符,在ORDER BY 子句中必须保持和SELECT子句中表达式完全一致,否则出现错误:“ORA-01791: 不是 SELECTed 表达式”。

8、查询数据库表的建表时间

SELECT OBJECT_NAME,    CREATED FROM    USER_OBJECTS WHERE object_type = 'TABLE' ORDER BY    CREATED DESC

9、查询序列的当前值

select ANALYSIS_FIX_SEQ.currval  from dual (注:此sql只能在nextval之后才可以使用)

select last_number from User_Sequences where sequence_name='ANALYSIS_FIX_SEQ'

10、恢复误删除的数据

create table quick as
SELECT * FROM T_LOCATION_ALARM AS  OF TIMESTAMP  to_timestamp('2013-11-29 11:00:00', 'yyyy-mm-dd hh24:mi:ss');

这样可以查询到这个时间点的数据

11、恢复误删除的PL/SQL对象

SELECT  r.object_name ,r.original_name,r.operation ,r.droptime FROM user_recyclebin  r order by droptime desc;

通过这个sql就可以查询到已经删除的对象。

再通过下面这个sql就可以查询到对象的内容,不过需要管理权限

SELECT NAME, TEXT FROM DBA_SOURCE AS OF TIMESTAMP TO_TIMESTAMP('2013-11-29:11:20:15', 'yyyy-mm-dd hh24:mi:ss')

最新文章

  1. PHP中::、->、self、$this操作符的区别
  2. css双飞翼布局
  3. div加边框
  4. ZOJ 3804 YY's Minions (简单模拟)
  5. Windows xp 重载内核(使用Irp进行文件操作)
  6. python使用正则表达式文本替换
  7. JAVA里的String、Timestamp、Date相互转换(转)
  8. MongoDB入门简介
  9. Android消息推送的服务端
  10. 【Apache ZooKeeper】理解ZooKeeper中的ZNodes
  11. Analysis of Web.xml in Hello1 project
  12. PHP微信公众号JSAPI网页支付(下)
  13. git中利用rebase来压缩多次提交 ----- 原文:https://blog.csdn.net/itfootball/article/details/44154121
  14. 【原创】大数据基础之Azkaban(1)简介、源代码解析
  15. Java思维理清思路
  16. DTW的原理及matlab实现
  17. 关于TCP连接状态的解释
  18. Intellij IDEA中修改Maven项目的项目名称
  19. vue项目功能
  20. 【拓扑排序】BZOJ4010-[HNOI2015]菜肴制作

热门文章

  1. python多线程下载
  2. python下载地址
  3. hdu 4414 Finding crosses
  4. HBase 的存储结构
  5. fedora 关闭、禁止selinux
  6. (转)springAOP解析-1
  7. Linux 命令速查
  8. 笔记 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 》
  9. DSP bootloader学习笔记1
  10. [Java] Java中List 去掉重复的值,并保持原先List顺序