0

我有大量的 Oracle DB 更新列表。这是一些产品支持工作。

我的示例更新是这样的

update XYZ 
  set  name = 'abb',
       job  = 'mgr'
where joining_date = to_date('2015-02-11'
  and job_id in (....list of job_id this can be anywhere in 1000s...);



update XYZ
  set  name = 'jab',
       job  = 'appdev'
where joining_date = to_date('2016-03-10'
  and job_id in (....list of job_id this can be anywhere in 1000s...);

根据加入日期和 job_ids 有几个更新。名单还在继续。

这里真正缺少的是'yyyy-mm-dd'. 我正在使用 UltraEdit。那是我的客户提供的唯一编辑器。我必须将此日期格式附加到日期中。

我尝试使用正则表达式查找和替换

查找 [0-9]
替换 ','yyyy-mm-dd'

如果我这样做,日期中的最后一个数字也会被替换。

我有 SQL 开发人员,如果我们可以在 SQL 开发人员中实现这一点,那也很棒。

4

1 回答 1

1

如果我正确理解了这个问题,您正在寻找一种将文本附加'yyyy-mm-dd'到所有date语句的方法,以便 2 个示例如下所示:

update XYZ 
  set  name = 'abb',
       job  = 'mgr'
where joining_date = to_date('2015-02-11','yyyy-mm-dd')
  and job_id in (....list of job_id this can be anywhere in 1000s...);



update XYZ
  set  name = 'jab',
       job  = 'appdev'
where joining_date = to_date('2016-03-10','yyyy-mm-dd')
  and job_id in (....list of job_id this can be anywhere in 1000s...);

如果这是正确的,您可以使用以下选项执行搜索和替换操作:

  • 找什么: to_date\(('[\-0-9]*')
  • 用。。。来代替: to_date($1,'yyyy-mm-dd')
  • 检查正则表达式并选择Perl
于 2016-05-24T10:17:14.473 回答