Oracle 语法
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 语法的更多相关文章
- SQLServer、MySQL、Oracle语法差异小集锦
一.差异集锦 在建表的时候,只有自增的语法不同. 下面给出3种数据库通用的建表与初始化测试语句: CREATE TABLE Country( Id int PRIMARY KEY, Name ) ); ...
- ansi sql 语法 切换为 oracle 语法
语句粘贴到 工作表 打开查询构建器 勾选 创建oracle连接 over sql dev 的语法设置调整,否则表别名会右对齐 下面是 转换后的结果,是不是看得舒服多了
- SqlServer select * into 对应 Oracle语法
创建新表,并插入旧表值 Sql Server select * into new_emp from emp; Oracle create table new_emp as select * from ...
- [转]Oracle 语法之 OVER (PARTITION BY ..) 及开窗函数
oracle的分析函数over 及开窗函数 一:分析函数Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组 ...
- oracle语法
执行计划: 1.1 设置autotrace 序号 命令 解释 1 SET AUTOTRACE OFF 此为默认值,即关闭Autotrace 2 SET AUTOTRACE ON EXPLAIN 只显示 ...
- sqlplus连接oracle语法
sqlplus文件在product\11.2.0\dbhome_1\BIN目录下. 连接语法:用户名/密码@ip/服务名
- jdbc连接oracle语法
public class LangDemo { public static void main(String[] args) throws Exception{ try { //加载驱动 Class. ...
- oracle语法练习汇总
全是自己一个一个敲出来的啊 啊 啊 --(1)查询20号部门的所有员工信息. --(2)查询所有工种为CLERK的员工的工号.员工名和部门名. select e.empno,e.ename,d.dna ...
- Oracle语法 及 SQL题目(一)
目录 课例复制 SQL题目一 SQL题目二 SQL题目三 笔记 课例复制 OCM 全称:Oracle Certified Master 认证大师 含义:Oracle 原厂推出的数据库方向最高级别认证 ...
随机推荐
- 关于Promise模式 整理中。。。
http://blog.csdn.net/womendeaiwoming/article/details/49849055 研究了几天Promise模式,因为在项目里也遇到了所谓的“回调陷阱”,就是多 ...
- Unity 3D学习之《Unity 3D 手机游戏开发》1
P10: 设置断点步骤02,在Project窗口右键(是在下图中的红色区域,点右键)选择[Sync Mono Develop Project],打开MonoDevelop编辑器 P11: " ...
- python莫名其妙的yield, yield from, yield.send
练了几行代码, 慢慢找感觉. TASK,多线程,异步,很多地方都用到的呢. #!/usr/bin/env python # -*- coding: utf-8 -*- import time from ...
- UVA 11481 Arrange the Numbers(组合数学 错位排序)
题意:长度为n的序列,前m位恰好k位正确排序,求方法数 前m位选k个数正确排,为cm[m][k],剩余m - k个空位,要错排,这m - k个数可能是前m个数中剩下的,也可能来自后面的n - m个数 ...
- RAC出现CRS-4535: Cannot communicate with Cluster Ready Services 时排查问题步骤
crsctl check crs 发现第二行报错: CRS-4638: Oracle High Availability Services is onlineCRS-4535: Cannot comm ...
- Matlab函数 meshgrid
- 【Exception—WebForm】当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作。请指定 ServiceNotification 或 DefaultDesktopOnly 样式,以显示服务应用程序发出的通知。
最近做的项目现在发布到服务器上开始测试了,本地好好的程序,到服务器上却报异常了: 当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作.请指定 ServiceNo ...
- Python lambda函数
python允许定义单行的小函数,定义lambda函数的形式如下: lambda 参数:表达式lambda函数默认返回表达式的值,可接收任意个参数,包括可选参数,但是表达式只有一个.
- 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化)
上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性. 安全性设置 设置客户端操作秘密 redis安装 ...
- 如何使用XShell登录亚马逊EC2云服务器
http://jingyan.baidu.com/article/a3a3f811d5fc338da2eb8a00.html