精华内容
下载资源
问答
  • 碰到一个需求,将一个列的数据: “122,123,145” 或者“122,123,145,”,变成多行,表值函数如下: Create FUNCTION transColS ( @id varchar(4000) ) RETURNS @st TABLE (id int) begin declare @str...

       碰到一个需求,将一个列的数据: “122,123,145” 或者“122,123,145,,变成多行,表值函数如下:  

    Create FUNCTION transColS
    (    
        @id varchar(4000)
    )
    RETURNS @st TABLE (id int) 
    begin
       declare @str as varchar(4000)
       IF(substring(@id,len(@id),1))<>','
         SET @id=@id+','
    set @str=@id declare @strV as varchar(4000) declare @num int set @num=(len(@str)-len(replace(@str, ',', '')))/len(',') --计算@str中有多少个“,”,用于循环 while(@num>0) begin set @strV=substring(@str,0,charindex(',',@str)) set @str=substring(@str,LEN(@strV)+2,LEN(@str)) set @num=@num-1 insert into @st(id) values(@strV) end return end

    查询数据,即可看到数据

    select ab.id,t.id from ab cross apply dbo.transColS(ab.id) t

         

    结果是:
    原有一列的数据:
    123,124,125,126,

    转化为多行的数据结果:
    123
    124
    125
    126

    转载于:https://www.cnblogs.com/zping/archive/2011/06/23/2088099.html

    展开全文
  • 2 插入多行 2.1 InsertRows(int rowIndex, int totalRows) Workbook workbook=new Workbook(); WorkSheet worksheet=workbook.WorkSheet[0]; Cells cells=worksheet.Cells; //在第一行之前插入两行 cells.Insert...

    1 插入单行

    1.1 InsertRow(int rowIndex)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一行之前插入一行
    cells.InsertRow(0);

    1.2 InsertRows(int rowIndex, int totalRows)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一行之前插入一行
    cells.InsertRows(0,1);

     1.3 InsertRows(int rowIndex, int totalRows, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一行之前插入一行
    cells.InsertRows(0,1,false);

     2 插入多行

    2.1 InsertRows(int rowIndex, int totalRows)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一行之前插入两行
    cells.InsertRows(0,2);

    2.2 InsertRows(int rowIndex, int totalRows, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一行之前插入两行
    cells.InsertRows(0,2,false);

    3 插入单列

     3.1 InsertColumn(int columnIndex)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入一列
    cells.InsertColumn(0);

    3.2 InsertColumn(int columnIndex, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入一列
    cells.InsertColumn(0,false);

     3.3 InsertColumns(int columnIndex, int totalColumns)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入一列
    cells.InsertColumns(0,1);

    3.4 InsertColumns(int columnIndex, int totalColumns, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入一列
    cells.InsertColumns(0,1,false);

    4 插入多列

     4.1 InsertColumns(int columnIndex, int totalColumns)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入两列
    cells.InsertColumns(0,2);

    4.2 InsertColumns(int columnIndex, int totalColumns, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //在第一列之前插入两列
    cells.InsertColumns(0,2,false);

    注:

    (1)插入的行或列位于指定的行或列之前。

    (2)本博客的内容有一些瑕疵,大家在根据这篇博客的内容,应用到实际项目中的时侯碰到了问题请联系本博主。

    展开全文
  • 2 删除多行 2.1 DeleteRows(int rowIndex, int totalRows) Workbook workbook=new Workbook(); WorkSheet worksheet=workbook.WorkSheet[0]; Cells cells=worksheet.Cells; //删除第一行起两行的单元格 cells....

    1 删除单行

    1.1 DeleteRow(int rowIndex)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行
    cells.DeleteRow(0);

    1.2 DeleteRows(int rowIndex, int totalRows)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行
    cells.DeleteRows(0,1);

     1.3 DeleteRows(int rowIndex, int totalRows, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行
    cells.DeleteRows(0,1,false);

    2 删除多行

    2.1 DeleteRows(int rowIndex, int totalRows)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行起两行的单元格
    cells.DeleteRows(0,2);

    2.2 DeleteRows(int rowIndex, int totalRows, bool updateReference) 

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行起两行的单元格
    cells.DeleteRows(0,2,false);

    3 删除单列

    3.1 DeleteColumn(int columnIndex)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一列
    cells.DeleteColumn(0);

    3.2 DeleteColumn(int columnIndex, bool updateReference) 

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一列
    cells.DeleteColumn(0,false);

    3.3 DeleteColumns(int columnIndex, int totalColumns, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一列
    cells.DeleteColumns(0,1,false);

    4 删除多列

     DeleteColumns(int columnIndex, int totalColumns, bool updateReference)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一列起两列的单元格
    cells.DeleteColumns(0,2,false);

    5 删除指定单元格 

    DeleteRange(int startRow, int startColumn, int endRow, int endColumn, ShiftType shiftType)

    Workbook workbook=new Workbook();
    WorkSheet worksheet=workbook.WorkSheet[0];
    Cells cells=worksheet.Cells;
    //删除第一行第一列至第二行第二列之间的4个单元格
    cells.DeleteRange(0,0,1,1);

    注:本博客的内容有一些瑕疵,大家在根据这篇博客的内容,应用到实际项目中的时侯碰到了问题请联系本博主。

    展开全文
  • 原本: name rose ben susan select string_agg(name,',') from user; 结果: name rose,ben,susan 注:name为列名,user为表名

    原本:

    name
    rose
    ben
    susan

     

     

     

     

     

    select string_agg(name,',') from user;

    结果:

    name
    rose,ben,susan

     

     

     

    注:name为列名,user为表名

     

    展开全文
  • 1:需要拼接的数据表中的字段 2:以什么字符分割,例如逗号,分号等字符 注:1与3是相同的字段。listagg() 函数的用法就像聚合函数一样,通过Group by语句,把每个Group的一个字段,拼接起来。 例子:Color表如下...
  • Select Stuff((Select ','+Name from fisProject FOR XML PATH('')),1,1,'') ----------------用“,”分隔多行数据值 结果:重庆区域天元道,重庆区域巫山,重庆区域涪陵,重庆区域开县...
  • 项目中用到的,做个分享: SELECT id, string_agg ( name, ',' ) FROM [table] GROUP BY id PS: 多用在关系表中的一对多数据的查询.
  • PostgreSQL单列多行变一行&一行变多行

    千次阅读 2020-04-08 15:05:25
    多行变一行 实例表: 想要的结果: 方法一:string_agg(字段名,分隔符) select id,string_agg(name,',') AS NAME_NEW from test group by 1 ORDER BY 1 方法二:array_agg(字段名) select id,array_agg(name) AS ...
  • 在使用mysql时,有时...其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会
  • mysql字符串切割转为一个单列多行数据 目标: 有如下字符串: T210706092@T210706091@T210706090@T210706089 如果需要转为单列多行格式: SELECT SUBSTRING_INDEX( SUBSTRING_INDEX( a.`deliverCodes`, '@', b.help...
  • 【1】Excel快速下拉多行函数式 如图红色框选中,D1:D5000,即可以快速下拉到第5000行 【2】快速选中多行数据 shift选中双击下边框
  • 数据单列或单行编辑成多行多列

    千次阅读 2014-05-15 10:16:09
    以下例子由单列变成多行多列为l原始数据只有一列
  • 通过使用hive sql变成如下的数据格式: +-----------------+-----------------+-----------------+--+ | a | b | 1-2-3 | | c | d | 4-5-6 | +-----------------+-----------------+-----------------+--+ ...
  • 查询的结果是单列的 SQL语句: select ltrim(replace(max(sys_connect_by_path(ename, ',')), ',', '、'),'、')  from (select emp.ename, rownum t from emp) connect by prior t = t - 1 start ...
  • 查询的结果是单列的 SQL语句: select ltrim(replace(max(sys_connect_by_path(ename, ',')), ',', '、'),'、')  from (select emp.ename, rownum t from emp)  connect by prior t = t - 1  ...
  • 查询结果是动态的有可能会有几个,几十个,几百个查询的结果是单列的 SQL语句: select ltrim(replace(max(sys_connect_by_path(ename, ',')), ',', '、'),'、') from (select emp.ename, rownum t from ...
  • 将多列单元格中的多个数据拆分为多行数据(explode方法扩展使用)1 业务需求2 发现问题3 解决问题实际操作 1 业务需求 在经过昨天梳理通过日期字段提取年月日、timedelta提取时分秒并进行小时汇总后,今天发现业务...
  • //查询多行数据 List<Get> gets = new ArrayList(); Get get2 = new Get(Bytes.toBytes("rowKey2")); Get get3 = new Get(Bytes.toBytes("rowKey3")); Get get4 = new Get(Bytes.toBytes("rowKey4")); ...
  • 用DECODE和CASE WHEN将多行单列数据改为单行多列数据(即竖向排列改为横向排列) 1、几天前,终于修改了SQL查询语句,改为适应报表格式。其中最关键的就是用DECODE和CASE WHEN方式,只要查...
  • 一、一列多行数据合并 1.1 在B1单元格输入=A1:A6 1.2 然后按F9键 1.3 最后删除{}和"",全量替换即可,根据需要将";“替换为”,"或其他字符。 二、一行多列合并 跟一列多行合并为一个单元格类似 2.1 在D1单元格...
  • 开发中会有场景,一些使用 ","分隔的数据,希望将其分成多行数据进行查询展示. 方案:使用 CROSS APPLY来实现.如下 .其中attractStaffId的字段为使用","分隔的字段 select v.id,v.name, c.value('.', 'varchar(50)'...
  • 上一篇讲的返回的是单行单列,比较简单,那如何返回多行呢 准备工作 1. return next,用在 for 循环中 CREATE OR REPLACE FUNCTION am2o ( in_id integer) RETURNS SETOF varchar as $$ DECLARE v_name varchar; ...
  • 需求:有四行数据,如下:  1.苹果 2.橘子 3.桃子 4.波罗  合并成一个字段:苹果,橘子,桃子,波罗;  需求明确之后,先弄点测试数据,上代码:   --创建一个临时表 Create table #temp ( testName ...
  • 剩下的问题就是:如何将这个分列后的数据块串联成一个单列数据?可使用Offset函数满足此需求。(在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。) 具体步骤:1. 观察到分列后有...
  • 字符串拆分,单列变成多行,并保留原来的其它字段的数据,准备测试数据: mysql> create table t1(c1 varchar(32),c2 varchar(32)); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO t1 SELECT...
  • 做了两天,终于把一个要的显示结果做出来了。。。...其中有个字段需要把各个列的数据合并。就是把上图中的YPTSFLMC的字段合并成一行,查过很对的资料,其中最简单用Oracle自带的wm_concat函数了...
  • 以4列N行为例,转换结果如下,上传Excel。
  • Oracle数据库单列多行

    千次阅读 2018-09-13 14:37:59
    但是在实际运用的过程中可能会用到分隔符引用的列需要转多行的需求,这时候我们一般会有两种处理办法: - 写函数方法 - 正则表达式 比较而言第二种更加方便快捷,本文详细介绍第二种方式。 regexp_substr函数 ...
  • SELECT DISTINCT [列名] ,STUFF( ( SELECT ','+[列名] FROM (表名) WHERE (根据合并的列名)= ...
  • 此页面可以实现在单行末尾进行添加图片操作,也可以实现选中多行然后一起添加修改图片操作。前台页面和后台代码及注解如下所示:groupImage包:materialNextDef.jsp: 药品图片添加 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,568
精华内容 4,227
关键字:

多行数据变单列