【问题标题】:Oracle: max value column alphanumericOracle:最大值列字母数字
【发布时间】:2013-04-18 14:06:26
【问题描述】:

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

例子:

 Last:
 D11.0602.166

 Next:
 D11.0603.166

我试过了:

 MAX
 TRANSLATE
 CONVERT
 MID
 VAL

【问题讨论】:

  • 你有什么问题? max() 函数应该做你想做的事。
  • 戈登的正确:MAX 应该找到最新的。您是否在询问更多有关如何处理 MAX 值的信息?如果是这样,您能否发布您的编号方案的说明?

标签: sql oracle max alphanumeric


【解决方案1】:

你所拥有的是一个“智能钥匙”——一个包含三个元素的属性。智能钥匙是愚蠢的,因为使用它们会让人头疼。

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

与此同时,您可以使用正则表达式来找到中间分量的最大值...

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多