【问题标题】:oracle db returns additional paddingoracle db 返回额外的填充
【发布时间】:2021-08-16 20:11:10
【问题描述】:

您能否就我们的以下数据库之一提出以下查询的原因:

select ' ' from dual

返回 32 个空白字符:

'                                '

这仅在一种环境中发生,所有其他数据库仅正确返回一个空格。我检查了 nls_parameters,它们是相同的。知道这可能是什么原因吗?一些数据库参数?某些补丁未应用于该实例?

其他例子:

select "!" || "!" from dual

产生:

"!!                                                              "

原来如此!! + 62 个空格

【问题讨论】:

    标签: oracle padding


    【解决方案1】:

    检查数据库参数cursor_sharing。它设置为什么?将其设置为EXACT

    SQL> show parameters cursor_sharing
    
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------
    cursor_sharing                       string      EXACT
    SQL>
    

    【讨论】:

    • 值设置为 FORCE,当我在会话级别更改它时,它工作正常。但是,通过将此值设置为 FORCE,我无法在其他环境中重现此问题 - 是否可以这样做?
    • 检查here 以获得解释和可重复的示例。另请注意,更改 cursor_sharing 可能会对 other 语句产生副作用...
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2021-12-23
    • 2015-11-07
    • 2016-07-24
    • 2010-09-26
    • 2011-01-17
    相关资源
    最近更新 更多