1

我的要求是我正在使用 regex_like 函数在表中搜索一堆列:下面是一个示例:

SELECT *
FROM dsopi_person_addr_rule ADDR
WHERE regexp_like (UPPER(addr.src_address_line1),   
                     'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG')

现在,如果我找到一个匹配项,我想做什么,我想从 src_address_line1 中获取值并将其放在同一张表的另一列中。我知道如何做到这一点,但任何人都可以推荐如何有效地做到这一点。我愿意使用游标。

4

2 回答 2

1

你不需要这个光标

UPDATE dsopi_person_addr_rule ADDR
SET new_col = addr.src_address_line1
WHERE regexp_like (UPPER(addr.src_address_line1),   
                     'DEP|DPT$|ABT|DIP.|DIPART|AFDEL|AVDEL|AVD.|DIV|PGRD|PGP|PPG')
于 2012-10-18T21:12:42.647 回答
-1

我会看一下 CONTAINSTABLE 子句,但这需要启用/创建 FULLTEXT 索引。

http://msdn.microsoft.com/en-us/library/ms189760.aspx

于 2012-10-18T21:14:38.323 回答