【问题标题】:Oracle: DECODE on BLOB columnOracle:在 BLOB 列上解码
【发布时间】:2017-04-23 00:05:53
【问题描述】:

我正在尝试对 BLOB 类型的列使用 DECODE。这是我所做的:

update TOTAL 
set DATA = decode (DATA, null, null, XMLSERIALIZE (CONTENT XMLTYPE('<myxml>' || DBMS_RANDOM.STRING('X', 200) || '</myxml>') as blob));

我收到以下错误:

SQL Error: ORA-00932: inconsistent datatypes: expected - got BLOB
00932. 00000 -  "inconsistent datatypes: expected %s got %s"

如果我使用where DATA is not null而不是解码,它运行良好。你能帮我解决这个问题吗?提前致谢。 P.S:我使用DECODE 而不是NVL2WHERE 子句,只是为了与脚本的其余部分保持一致

【问题讨论】:

    标签: oracle oracle11g blob


    【解决方案1】:

    你可以试试case when,而不是decode

    试试这个。

    case when DATA is null then null
    else  XMLSERIALIZE (CONTENT XMLTYPE('<myxml>' || DBMS_RANDOM.STRING('X', 200) || '</myxml>') as blob)
    end
    

    【讨论】:

      猜你喜欢
      • 2012-04-07
      • 2014-08-08
      • 1970-01-01
      • 2021-08-28
      • 2023-04-09
      • 1970-01-01
      • 2019-09-02
      • 2021-08-28
      • 2021-01-21
      相关资源
      最近更新 更多