【发布时间】:2017-09-04 13:48:44
【问题描述】:
我有大约 2000 多个站点维护运行 Oracle11g 的内部应用程序的不同版本。
一个表有一个维护版本的参数。 COl_1 的值如5.2.4 or 6.86 or 7.2.0.1 等。我需要比较两个站点版本,如(site1 的6.2.3 大于site2,可能是6.8)。数据类型是 Varchar2。
最简单的方法是什么?有什么内置的吗?根据结果,我必须执行一些插入和合并。
那么,如何在 oracle sql 查询中比较5.2.4 > 6.2.1.4?
提前致谢。
【问题讨论】:
-
您知道最大版本零件数吗?所以,我问点数?
-
根据你的例子应该是 6.2.1.4 > 5.2.4 ?
-
最多 3 个点。但有些会有 2 位数 (6.3.95)。是的,5.2.4 site2.col1?谢谢
-
在正常使用中,
6.8版本会大于6.2.3,因为约定是尾随字符表示补丁(或其他),所以版本6.8必须晚于6.2。显然,无论如何,人们已经涉足答案,但为了下次您提出问题时的参考,请确保您的示例正确、完整且一致。如果您的规则确实偏离了一般约定,这一点尤其重要。