Oracle:最大值列字母数字

时间:2013-04-18 14:06:27

标签: sql oracle max alphanumeric

问题我无法获取最新代码。我需要它来生成下一个。

示例:

 Last:
 D11.0602.166

 Next:
 D11.0603.166

我试过了:

 MAX
 TRANSLATE
 CONVERT
 MID
 VAL

1 个答案:

答案 0 :(得分:1)

你所拥有的是一个“智能钥匙” - 一个包含三个元素的属性。智能钥匙是愚蠢的,因为它们是一种痛苦的工作。

因此,正确的解决方案是将该属性拆分为三个单独的属性,并使其成为复合键。

与此同时,您可以使用reguklar表达式来确定中间组件的最高值......

select max(regexp_replace(dumb_key
               , '([A-Z][0-9]{2})\.([0-9]{4})\..([0-9]{3})'
               , '\2'))
from your_table
/

毫无疑问,你还没有解释过各种其他复杂问题,这意味着这可能不是完整的解决方案。但它应该是十岁的首发。