oracle 拼接数据

这几天遇到Ajax取值时的数据传递是String类型,拿到字符串后就进行数据分割,所以需要对数据库查询到的数据进行拼接,

以下就是数据拼接的语句

select replace(wm_concat(Trim (to_char(round(天数,1),‘0.9‘))),‘,‘,‘-‘) from( 
  SELECT
         MIN(logi_date)
         over(PARTITION BY logi_pi
         ORDER BY logi_date rows
         BETWEEN 1 following AND 2 following) - logi_date 天数
    FROM t_bu_transport_d_move m
   where logi_pi = ‘A4071005‘
   order by logi_date);

其中

1:wm_concat的用法为“行转列”,意思就是把某一列的全部数据放在同一行里,:这就拿到所有需要的列的数据的拼接;

2:replace的用法是替换,replace(‘字符串‘,‘,‘,‘-‘),这一句的意思是把‘字符串’的‘,’替换为‘-’;

3:Trim的用法是去除字符串前后的空格,Trim(‘字符串‘);

4:to_char的用法是转为字符类型,to_char(‘number‘),‘0.9‘))),这一句的意思是把number转换为字符类型,‘0.9‘是样式,且样式都用带‘9‘的字符表示;

5:round是对数字的取值,四舍五入;

6:over函数指定了分析函数工作的数据窗口的大小,这个数据窗口大小可能会随着行的变化而变化,例如:
    over(order by salary)按照salary排序进行累计,order by是个默认的开窗函数
    over(partition by deptno) 按照部门分区
    over(order by salary range between 50 preceding and 150 following)每行对应的数据窗口是之前行幅度值不超过50,之后行幅度值不超过150的数据记录
    over(order by salary rows between 50 perceding and 150 following)前50行,后150行
    over(order by salary rows between unbounded preceding and unbounded following)所有行
    over(order by salary range between unbounded preceding and unbounded following)所有行

7:rows BETWEEN 1 following AND 2 following:1在这里不是从第1条记录开始的意思,而是指当前记录的前一条记录,意思是下一条数据减上条数据;

时间: 2024-09-12 07:48:13

oracle 拼接数据的相关文章

Oracle core02_数据块

数据更改 oracle core完成了oracle的核心功能,recovery,读一致性等. 深入的了解oracle的机制,就从一个最简单的更新开始.对于oracle来说,最大的一个特性就是写了两次数据: 写数据到数据文件中 写数据的变更日志到日志文件中 对于最常见的数据更新来说,oracle主要做了一下动作: 创建数据块变更的日志记录即 redo change vector 创建数据块的映像即undo record 创建undo数据块变更的日志记录 更新数据块 下面就以update为例:记录变

JavaWeb学习总结(三十五)——使用JDBC处理Oracle大数据

一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据 量非常大的业务领域(如图象.档案等). LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序.图象.影音等).而CLOB,即字符型大型对象(Character Large Obj

关于Oracle导出数据的几个错误EXP-00008,ORA-00904,ORA-01003,EXP-00091

首先说明数据库的版本 服务器:10.2.0.5.0 客户端:11.2.0.1.0 导出会报错 EXP-00008: 遇到 ORACLE 错误 1003 ORA-01003: no statement parsed 和 EXP-00008: 遇到 ORACLE 错误 904 ORA-00904: "MAXSIZE": invalid identifier 这小样问题,怎么也不会想到是客户端不能向下兼容吧,困了我很久.我决定试下是不是客户端不兼容问题,果然是这样的. 装了个虚拟机,客户端版

oracle rename数据文件的两种方法

oracle rename数据文件的两种方法 2012-12-11 20:44 10925人阅读 评论(0) 收藏 举报  分类: oracle(98)  版权声明:本文为博主原创文章,未经博主允许不得转载. 第一种 alter tablespace users rename datafile '==' to '***'; 这种方式需要数据库处于open状态,表空间在offline的状态下才能更改. [sql] view plain copy SQL> alter tablespace user

使用sqoop1.4.4从oracle导入数据到hive中错误记录及解决方案

在使用命令导数据过程中,出现如下错误 sqoop import --hive-import --connect jdbc:oracle:thin:@192.168.29.16:1521/testdb --username NAME --passord PASS --verbose -m 1 --table T_USERINFO 错误1:File does not exist: hdfs://opt/sqoop-1.4.4/lib/commons-io-1.4.jar FileNotFoundEx

oracle学习-数据迁移

如果只是迁移表空间或者数据文件,可以先将表空间或者数据文件offline之后移动位置,并通过 alert database rename 和 alter tablespace rename 将位置变化写入控制文件即可 例 迁移数据文件 ALTER DATABASE DATAFILE '所要迁移的数据文件' OFFLINE; 拷贝到新位置 ALTER DATABASE RENAME FILE '索要迁移的数据文件' TO '新位置的数据文件'; 介质恢复 RECOVE DATAFILE '新位置的

JavaWeb(三十五)——使用JDBC处理Oracle大数据

一.Oracle中大数据处理 在Oracle中,LOB(Large Object,大型对象)类型的字段现在用得越来越多了.因为这种类型的字段,容量大(最多能容纳4GB的数据),且一个表中可以有多个这种类型的字段,很灵活,适用于数据 量非常大的业务领域(如图象.档案等). LOB类型分为BLOB和CLOB两种:BLOB即二进制大型对象(Binary Large Object),适用于存贮非文本的字节流数据(如程序.图象.影音等).而CLOB,即字符型大型对象(Character Large Obj

Oracle创建数据

Oracle创建数据为有三种方式:一.使用DBCA(Database Configuration Assistant 数据库配置助手):二.使用 create database指令:三.在安装数据库软件时创建数据库: 一.使用DBCA创建数据库本人环境为Oracle 11g.1.开始 -> 所有程序 -> Oracle -> 配置和移植工具 -> Database Configuration Assistant,打开图形化界面:2.创建过程大部分按默认选项点击“下一步”进行. (1

Oracle误删除数据的恢复方法

Oracle误删数据的恢复,分为两种方法:SCN和时间戳两种方法恢复. 一.通过SCN恢复删除且已提交的数据 1.获得当前数据库的SCN号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的SCN号为:1499223 2.查询当前SCN号之前的SCN select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据:如果不是,则继续缩小scn号) 3.恢复删除且已提交的