小编use*_*311的帖子

LISTAGG函数:"字符串连接的结果太长"

我正在使用Oracle SQL开发人员版本3.0.04.我试图使用该功能LISTAGG将数据分组在一起..

    CREATE TABLE FINAL_LOG AS
    SELECT SESSION_DT, C_IP, CS_USER_AGENT,
    listagg(WEB_LINK, ' ')
        WITHIN GROUP(ORDER BY C_IP, CS_USER_AGENT) "WEB_LINKS"
        FROM webviews
        GROUP BY C_IP, CS_USER_AGENT, SESSION_DT
        ORDER BY SESSION_DT
Run Code Online (Sandbox Code Playgroud)

但是,我一直收到错误,

SQL Error: ORA-01489: result of string concatenation is too long
Run Code Online (Sandbox Code Playgroud)

我很确定输出可能超过4000,因为这里提到的WEB_LINK是url stem和url查询的连接值.

有没有办法解决它还是有其他选择吗?

sql oracle

47
推荐指数
7
解决办法
14万
查看次数

根据列值删除行

有没有办法根据它包含的值删除行?例如,我有一个表,其中包含一个包含URL值的列,例如,

/uk/quitclock/om2.asp

/uk/quitclock/om666.wav

在这里,我需要删除带有以WAV,GIF或JPEG结尾的后缀的行.我怎么做?如果不可能,那么excel中是否有任何公式可以帮助我做到这一点?

sql excel oracle11g

2
推荐指数
1
解决办法
5523
查看次数

SQL错误:ORA-00923:找不到FROM关键字

我尝试过使用LISTAGG功能,但因为有一个可能性,即输出会很长,甚至可能超过4000个字节多..我一直得到错误字符串连接的结果是太长.我按照AskTom页面提到Tim引用了一个返回CLOB的字符串聚合函数实现.

           CREATE TABLE FINAL_LOG AS
           SELECT SESSION_DT, C_IP, CS_USER_AGENT,
           concat_all_ot(WEB_LINK, ' ')
           WITHIN GROUP(ORDER BY C_IP, CS_USER_AGENT) AS "WEBLINKS"
               FROM weblog_views
               GROUP BY C_IP, CS_USER_AGENT, SESSION_DT
               ORDER BY SESSION_DT
Run Code Online (Sandbox Code Playgroud)

为此,我收到以下错误,

SQL错误:ORA-00923:找不到FROM关键字

谁能告诉我这里哪里出错?

sql oracle

0
推荐指数
1
解决办法
4668
查看次数

标签 统计

sql ×3

oracle ×2

excel ×1

oracle11g ×1