1

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

{ 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 =格雷戈里安')

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

4

1 回答 1

0

尝试这个:

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

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

于 2013-03-26T00:15:29.590 回答