1、行转列函数

11gR2以前:

WM_CONCAT函数,

使用方式形如:

SELECT SUS_SNO,WM_CONCAT(SRC_FILENAME) AS AAA FROM AML_SUS_TRD_FILE GROUP BY SUS_SNO;

首先,数据表内容如下:

SELECT * FROM AML_SUS_TRD_FILE;

目前5条记录,SUS_SNO=1对应的有4条,SUS_SNO=2的有1条记录,前面给出的使用方法出现的效果如下:

那么我们现在已经得到了按照一个编号取得了对应的列转入行数据的效果了。

注意:这里不自己选择分组的话,仅仅使用WM_CONCAT函数会将参数列的所有数据集合到一条记录中

默认分隔符是逗号,不需要的话可以用replace函数再进行替换。

11gR2给出了一个新的函数LISTAGG:

语法:LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]

  • 需要聚合的列或者表达式
  • WITH GROUP 关键词
  • 分组中的ORDER BY子句

SQL:SELECT SUS_SNO,LISTAGG(SRC_FILENAME,',') WITHIN GROUP (ORDER BY SRC_FILENAME) AS AAA FROM AML_SUS_TRD_FILE GROUP BY SUS_SNO

一样可以达成前面函数的效果。

注意:不分组依旧是聚合到一行数据中 。可以在函数参数中自由选择分隔符。

2、sys账户密码忘记后的办法

win+R 进入console;输入命令"sqlplus /nolog",进入Oracle命令模式;输入"conn / as sysdba";然后就是正常的修改密码"alter user sys identified by password";

注意:此方法适用于Oracle本机适用,然后测试过程发现新密码跟原密码都可以使用。

3、SQL Sever 2008R2 某个数据库的ldf文件过大,笔者体验是40G+,硬盘直接炸了。

下列语句中【DB替换为目标DB】

USE [master]
ALTER DATABASE 【DB】
SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE 【DB】
SET RECOVERY SIMPLE
GO
USE 【DB】
DECLARE @logname VARCHAR(150)
SELECT @logname = name
FROM   sys.database_files
WHERE  name LIKE'%log'
DBCC SHRINKFILE(@logname, 11, TRUNCATEONLY)
GO
USE [master]
ALTER DATABASE 【DB】
SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE 【DB】
SET RECOVERY FULL
GO

Oracle 语法的更多相关文章

  1. SQLServer、MySQL、Oracle语法差异小集锦

    一.差异集锦 在建表的时候,只有自增的语法不同. 下面给出3种数据库通用的建表与初始化测试语句: CREATE TABLE Country( Id int PRIMARY KEY, Name ) ); ...

  2. ansi sql 语法 切换为 oracle 语法

        语句粘贴到 工作表 打开查询构建器 勾选 创建oracle连接 over     sql dev 的语法设置调整,否则表别名会右对齐   下面是 转换后的结果,是不是看得舒服多了

  3. SqlServer select * into 对应 Oracle语法

    创建新表,并插入旧表值 Sql Server select * into new_emp from emp; Oracle create table new_emp as select * from ...

  4. [转]Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数

    oracle的分析函数over 及开窗函数 一:分析函数Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组 ...

  5. oracle语法

    执行计划: 1.1 设置autotrace 序号 命令 解释 1 SET AUTOTRACE OFF 此为默认值,即关闭Autotrace 2 SET AUTOTRACE ON EXPLAIN 只显示 ...

  6. sqlplus连接oracle语法

    sqlplus文件在product\11.2.0\dbhome_1\BIN目录下. 连接语法:用户名/密码@ip/服务名

  7. jdbc连接oracle语法

    public class LangDemo { public static void main(String[] args) throws Exception{ try { //加载驱动 Class. ...

  8. oracle语法练习汇总

    全是自己一个一个敲出来的啊 啊 啊 --(1)查询20号部门的所有员工信息. --(2)查询所有工种为CLERK的员工的工号.员工名和部门名. select e.empno,e.ename,d.dna ...

  9. Oracle语法 及 SQL题目(一)

    目录 课例复制 SQL题目一 SQL题目二 SQL题目三 笔记 课例复制 OCM 全称:Oracle Certified Master 认证大师 含义:Oracle 原厂推出的数据库方向最高级别认证 ...

随机推荐

  1. 守护神 Supervisor

    参考: http://linbo.github.io/2013/04/04/supervisor/ http://www.restran.net/2015/10/04/supervisord-tuto ...

  2. VIM插件攻略

    工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话...不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样 ...

  3. 1.UI初认识

    前节:app是什么? app英文全称:application 应用程序,简称应用.也就是手机应用的简写 出处:http://www.cnblogs.com/mcj-coding/p/5098254.h ...

  4. 删除安装的 cocoapods 的缓存方法

    清除 Cocoapods 本地缓存 特殊情况下,由于网络或者别的原因,通过 cocoapods 下载的文件可能会有问题.这时候可以删除 Cocoapods 的缓存(~/Library/Caches/C ...

  5. windows2008r2的时间同步小结

    一.在windows2008r2域控的环境下进行时间同步的配置(当已经拥有可以使用的ntp服务器,并知晓ip,客户端到其网络正常): 客户端的配置过程如下: 1.搜索窗口输入 gpedit.msc 打 ...

  6. Linux常用命令学习8---(用户和用户组管理)

    1.用户和用户组     用户和用户组概念        用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统)        用户组:具有相同权限的一组用户(Linux系统中可 ...

  7. 日期与时间戳相互转化(js)

    function datetime_to_unix(datetime){     var tmp_datetime = datetime.replace(/:/g,'-');     tmp_date ...

  8. jquery 20161014

    jquery.fn.extend <!DOCTYPE html> <html> <head lang="en"> <meta charse ...

  9. Knockout.js随手记(2)

    计算属性 konckout.js的API文档,写的极为详细和生动,透过MVVM的运作原理,开发时只需专注于定义ViewModel逻辑,不需耗费心力处理TextBox.Select的onchange.o ...

  10. MySQL 存储过程游标

    一.创建游标 游标用declare语句创建.如下面的例子所示: create procedure test2() begin declare cursorTest cursor for select ...