例如: select a from table1;
column a 中的数据如下视图
abcdedf
ggeifkd
aaaaa
一个column 有三行字符串, 如何将这个column a 的三行字符串合并成一行字符串?变成 abcdedfggeifkdaaaaa 的一行?
column a 中的数据如下视图
abcdedf
ggeifkd
aaaaa
一个column 有三行字符串, 如何将这个column a 的三行字符串合并成一行字符串?变成 abcdedfggeifkdaaaaa 的一行?
解决方案 »
- 关于触发器的问题
- oracle查询时怎么设置自增id的排列顺序
- 那位兄弟推荐几本oracle的书,比较深入的,一方面是开发的,一方面是数据库管理的
- 某表时除了操作时间不一致,其它字段都一样,我想只保留最新的一条记录,请大侠帮忙,谢谢!
- 请教一个简单的select语句
- 谁能帮我把一SQL的trigger转换成ORACLE的,小弟在此先谢谢了!!!!!!!!!
- 在linux操作系统下数据库导到另外一台在windows 2000 professional机器上的数据库??
- 什么工具可以查看归档日志
- 请教一个统计SQL语句
- oracle 里存储图片信息,如何处理?
- 一般最大连接数是多少,比较适用专用服务器模式?
- 在存储过程中可以对单个字符执行异或操作么?
CARD_CODE Q
--------- ------------------------------------------------
001 quarter_1
001 quarter_2
001 quarter_3
001 quarter_4
002 quarter_1
002 quarter_2
002 quarter_3
002 quarter_4数据格式二
CARD_CODE Q
--------- --------------------------------------------------------------------------------
002 quarter_1;quarter_2;quarter_3;quarter_4
001 quarter_1;quarter_2;quarter_3;quarter_4从格式一到格式二SELECT t1.card_code, substr(MAX(sys_connect_by_path(t1.q, ';')), 2)
FROM (SELECT a.card_code,
a.q,
row_number() over(PARTITION BY a.card_code ORDER BY a.q) rn
FROM t_change_lc_comma a) t1
START WITH t1.rn = 1
CONNECT BY t1.card_code = PRIOR t1.card_code
AND t1.rn - 1 = PRIOR t1.rn
GROUP BY t1.card_code
FROM (
SELECT 1 AS ID, ROW_NUMBER() OVER (ORDER BY a) AS curr
, ROW_NUMBER() OVER (ORDER BY a) -1 AS prev
FROM table1
)
START WITH curr = 1
CONNECT BY prev = PRIOR curr
GROUP BY ID
/
SELECT LTRIM(MAX(SYS_CONNECT_BY_PATH(a,' ')),' ') AS LongStr
FROM (
SELECT 1 AS ID, a, ROW_NUMBER() OVER (ORDER BY a) AS curr
, ROW_NUMBER() OVER (ORDER BY a) -1 AS prev
FROM table1
)
START WITH curr = 1
CONNECT BY prev = PRIOR curr
GROUP BY ID
/