【问题标题】:Trim the ' (apostrophe) character in an sql statement在 sql 语句中修剪 '(撇号)字符
【发布时间】:2009-10-05 08:41:15
【问题描述】:

我正在使用 DBMS_SQL 包,它返回值“12345”作为列名的值。

如何将值中的撇号去掉,以便将其转换为数字?

【问题讨论】:

    标签: sql plsql trim


    【解决方案1】:

    类似下面的内容应该修剪撇号:

    substr(columnName, 2, length(columnName) - 2)
    

    (顺便说一句,这是一个非常奇怪的数据库,其列名是整数,不是吗?)

    【讨论】:

    • 很奇怪的设计。是的。虽然它有它的优点。总之,做得很好。完美运行。
    【解决方案2】:

    这将从值中删除前导和尾随撇号:

    RTRIM(LTRIM(value,''''),'''')
    

    或者如果您愿意:

    RTRIM(LTRIM(value,chr(39)),chr(39))
    

    【讨论】:

      【解决方案3】:

      您可以使用“REPLACE”函数将字符串中的所有单引号替换为 NULL。

      例如。 带引号: 从对偶中选择 'Hello,''World'''

      引号已删除: select replace('Hello,''World''','''',NULL) from dual

      但是,Oracle 中的列名不能以数字开头,因此 12345 作为列名无论如何都是无效的。

      【讨论】:

        猜你喜欢
        • 2016-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-01
        • 2021-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多