【发布时间】:2013-10-28 06:24:39
【问题描述】:
我有专栏employee_no varchar2(6)。我想获取所有具有employee_no 的记录,如010101、121212、232323 等。如何根据这种模式进行搜索?
【问题讨论】:
-
这些是您要查找的唯一数字吗?这是“演示数据”的一个非常奇怪的选择——或者这是否意味着该模式也扩展到“898989”? “181818”呢?
-
我知道我可以使用通配符之类的。我想要像 x(x+1)x(x+1)x(x+1) 这样的东西。我不想在“喜欢”运算符中写入整个预期结果。我想使用一些正则表达式。这可能吗?
-
如果不提供所有初始序列对,即使是正则表达式也无法处理这个问题(正则表达式中没有
n/n+1概念)。无论如何..我不使用Oracle,但请参阅Oracle 10g: Using Regular Expressions。正则表达式可能类似于:(01|12|23|34|45|56|67|78|89){3}。我不知道查询计划可能有何不同。 -
(哎呀,而不是
{3},请参阅 Ramblin 的答案中的捕获组。但是,请注意 n/n+1 概念是如何模拟) -
抱歉我的愚蠢问题。我认为我可以使用一些循环而不是类似运算符中的硬编码模式使其更通用。