本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- siemens800
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
最新文章列表
Oracle--SQL技巧(多行记录用逗号拼接在一起)
需求:
目前接触BI系统,由于业务系统的交易记录有很多,常常有些主管需要看到所有的记录情况,但是又不想滚动,想一眼就可以看到所有的,于是就想到了字符串拼接的形式。
解决方案:使用Oracle自带的函数 WMSYS.WM_CONCAT,进行拼接。
函数限制:它的输出不能超过4000个字节。
为了不让SQL出错,又可以满足业务的需求,超过4000个字节的部分,使用“。。。”
实现 ...
Oracle 多行数据合并成一行数据
方法一
SQL> WITH SHOPPING AS
2 (
3 SELECT '1' U_ID, '苹果' GOODS, '2' QTY FROM DUAL UNION ALL
4 SELECT '2' U_ID, '梨子' GOODS, '5' QTY FROM DUAL UNION ALL
5 SELECT '1' U_ID, ...
wm_concat与listagg
连接字符串1.wm_concat2.listagg案例:/*拆分regexp_substr 合并wm_concat 替换regexp_replace*/WITH a AS (SELECT '1,a,1,b,2,a,2,c,3,d,3,e,4,y' a FROM dual)SELECT b, wm_concat(c) d FROM (SELECT regexp_substr(a, '[^,]+' ...
oracle WM_CONCAT行转列
Sql代码
select t.rank, t.Name from t_menu_item t;
10 CLARK 10 KING 10 MILLER 20 ADAMS 20 FORD 20 JONES 20 SCOTT 20 SMITH 30 ALLEN 30 BLAKE ...
oracle系统函数之wmsys.wm_concat
wmsys.wm_concat是一个强大的列转行函数,话说上次辛苦搜到之后很高兴.这次又碰到类似需求,使用的时候却各种ORA-00904:"wm_concat":标识符无效.一开始怀疑是用户问题,换了系统用户依然不行.官方说支持oracle10g及以上版本.仔细想了想,想到即使是同一大版本也有不同的小版本,比如xe版的小型oracle.于是查了下到底有没有这个 ...
oracle XE 添加 wm_concat
转自:http://www.sql.ru/forum/actualthread.aspx?tid=531677
CREATE OR REPLACE TYPE wm_concat_impl
AUTHID CURRENT_USER
AS OBJECT (
curr_str VARCHAR2 (32767),
STATIC FUNCTION odciaggregate ...
wm_concat函数
首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用
准备测试数据
SQL> create table test(id number,name varchar2(20));
SQL> insert into test values(1,'a');