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. java 深入技术一

    1. myeclipse和debug调试 1)myeclipse重命名 包和类,方法,字段的重命名 重构,refactor-rename 方法,右键refactor-rename,按回车就重命名 Al ...

  2. java学习第二天 回顾运算符

    一.回顾运算符: 补充: 三元运算符. 代码: /* 三目运算符: 三元运算符: 结构: 条件?条件成立的结果 :条件不成立的结果 ; */ class Demo1 { public static v ...

  3. vagrant学习笔记

    什么是vagrant简而言之,vagrant就是一个用来管理虚拟机文件的工具为什么要使用vagra如果经常玩虚拟机的话,就会知道,当你需要新建一个虚拟环境的时候,总是要重复的安装操作系统,以及操作系统 ...

  4. C实现栈和队列

    这两天再学习了数据结构的栈和队列,思想很简单,可能是学习PHP那会没有直接使用栈和队列,写的太少,所以用具体代码实现的时候出现了各种错误,感觉还是C语言功底不行.栈和队列不论在面试中还是笔试中都很重要 ...

  5. Android 应用程序升级到 5.0 需要注意的问题

    Android 5.0,代号 Lollipop,源码终于在2014年12月3日放出,国内一大批厂商跟进.最大的改变是默认使用 ART(Android Runtime) ,替换了之前的 Dalvik 虚 ...

  6. error C2144: 语法错误:“int”的前面应有“;”

    百度网上都说是中文输入的问题. 但我的错误是函数声明时后面忘了加 :真是要死......

  7. php调试

    转自:http://www.cnblogs.com/gidot/p/4307709.html

  8. ftp下载在谷歌与火狐不同

    今天ftp点击下载按钮的时候火狐可以谷歌不行,上网查了一下网友提供两种方法确实可用记录如下 1.把"ftp"开头的网址修改为”http"开头的网址,即可顺利访问2.直接保 ...

  9. Light oj1031 Easy Game (区间dp)

    题目链接:http://vjudge.net/contest/140891#problem/F A和B都足够聪明,只有我傻,想了好久才把代码和题意对应上[大哭] 代码: #include<ios ...

  10. 我的c++学习(12)指针作为函数参数

    ◆ 引用调用与指针传值调用C++中函数的参数的基本使用方法是传值.为了弥补单纯传值的不足,以引用作为函数的参数,从逻辑上讲引用是别名,在函数中对参数的操作,就是对实参的操作,而在物理上是传实参的地址. ...