笔者日常工作中常用到的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')

oracle数据库常用SQL语句(11.29更新)的更多相关文章

  1. Oracle数据库常用Sql语句大全

    一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2, ……); INSE ...

  2. oracle数据库常用SQL语句

    1)删除表的一列 ALTER TABLE 表名 DROP COLUMN 列名; 2)增加表的一列 且默认值为0 alter table 表名 add 字段名 类型 default '0'; 3)修改表 ...

  3. Oracle 数据库常用SQL语句(2)查询语句

    一.SQL基础查询 1.select语句 格式:select 字段 from 表名; 2.where 用于限制查询的结果. 3.查询条件 > < >= <= = != 4.与 ...

  4. Oracle 数据库常用SQL语句(1)

    一.数据定义语句 CREATE:创建表或其它对象 create database test; //创建test数据库 ),sex )); //创建表 ALTER:修改表或其它对象的结构 )); //为 ...

  5. GP数据库 常用SQL语句

    GP数据库 常用SQL语句 --1,查看列名以及类型 select upper(column_name) ,data_type from information_schema.columns wher ...

  6. Oracle数据库 基础SQL语句练习

    一.说明 第一次使用Oracle,想做一些练习,熟悉一些oracle. 表:使用的是scott用户,默认的表 具体表讲解,可以参考该文档:https://www.cnblogs.com/xjcheng ...

  7. oracle数据库常用plsql语句

    (一)oracle中常用的数据类型 (二)PL-sql基本语法 1.创建数据库表.删除数据库表 create table table1--创建表 ( field1 number(8), field2 ...

  8. Oracle数据库入门——sql语句和函数详解

    一.oracle常用数据类型 一.  数据定义语言(ddl) 数据定义语言ddl(data definition language)用于改变数据库结构,包括创建.更改和删除数据库对象. 用于操纵表结构 ...

  9. ios数据库常用sql语句

    SQlite常用语句 由于sql语句在程序代码中以字符串的形式存在,没有代码提示,不细心很容易出错,而且不容易被查出来.sql语句字符串是单引号. 写sql语句的时候一定要细心呀.如果写不好可以找公司 ...

随机推荐

  1. 微信开发时遇到的UrlConnection乱码的问题

    昨天做一个微信的模板消息推送的功能,功能倒是很快写完了,我本地测试微信收到的推送消息是正常的,但是一部署到服务器后微信收到的推送消息就变成乱码了. 为了找到原因,做了很多测试,查了一下午百度,最后得出 ...

  2. C++模板(基础)

    本文转至:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类 ...

  3. QT对话框模式与非模式

    QT模态对话框及非模态对话框 非模态对话框(Modeless Dialog)的概念不是模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭.对于在模态来显示对 ...

  4. KD-tree

    就是K维空间上的二叉查找树. 每个node对应k维空间的超矩形区域 在方差最大的维度上,比较数据与kd-tree的根节点.中间节点,在该维度上的中值处划分,得到新的子空间,直到不能再分. 用于最近邻查 ...

  5. 经验解决Fragment被Replace后仍旧可见的问题

    经验解决Fragment被Replace后仍旧可见的问题 网上问的问题,大多会提到替换了Fragment而发现之前被替换的仍旧显示在那里.我个人使用android 2.3 +support 开发包,在 ...

  6. PC-1500的代码存入WAV文件

    目录 第1章保存    1 1.1 操作    1 1.2 波形说明    4 1.3 波形整形    5 1.4 压缩    8 第2章载入    9 2.1 操作    9 2.2 音量    9 ...

  7. as中的陷阱

    一.DisplayObject 1.有关width和height 对于一个对象A, 如果您设置了 width 属性,则 scaleX 属性会相应调整,并且会一直保存下来.尤其要注意的是如果A没有任何内 ...

  8. 屏幕输出VS文件输出

     问题1:我们在编写程序时经常需要数一些数据到屏幕,来查看我们的结果是否正确,虽然直接输出到屏幕,查看起来呢很方便,但当数据量很大时,需要耗费大量的时间.于是我们想到能不能通过输出到文件来减少时间 ...

  9. iOS动态部署方案

    转载: iOS动态部署方案 前言 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的 ...

  10. python 练习 1

    from math import sqrt from datetime import date def k1(): #某人是1999年9月29日生日 #问到2006年9月29日他活了多少天 a=dat ...