【问题标题】:Replacing String from each row of the column in oracle sql select从oracle sql select中列的每一行替换字符串
【发布时间】:2013-03-19 02:58:40
【问题描述】:

在 oracle 11g 上的 user_tab_partition 上运行以下 sql 选择查询

{ select high_value from user_tab_partitions where table_name='TAB1'; }

给出以下结果..

TO_DATE('2013-02-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') TO_DATE('2013-02-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') TO_DATE('2013-02-17 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') TO_DATE('2013-02-24 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') TO_DATE('2013-03-03 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') TO_DATE('2013-03-10 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')

问题:如何使用替换或类似功能从每一行中删除 , 'NLS_CALENDAR=GREGORIAN'。?

【问题讨论】:

    标签: sql oracle11g


    【解决方案1】:

    试试这个:

    select regexp_replace(high_value, ',\s*''NLS_CALENDAR=GREGORIAN''', '')
    from user_tab_partitions 
    where table_name='TAB1';
    

    单引号在 Oracle SQL 中通过键入两次进行转义,即使在 RegEx 模式中也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 2021-10-08
      • 2020-08-06
      • 2023-02-23
      相关资源
      最近更新 更多