当前位置: 代码迷 >> Oracle开发 >> oracle关于版本号比较的有关问题
  详细解决方案

oracle关于版本号比较的有关问题

热度:143   发布时间:2016-04-24 06:27:19.0
oracle关于版本号比较的问题
1.0.0.1 与 1.0.0.2 这样的版本号在数据库中是怎么比较的?
每段都不会超过4位
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

to_number(regexp_replace('1.123.0.12','([[:digit:]]+).([[:digit:]]+).([[:digit:]]+).([[:digit:]]+)','\1'))
\1匹配第一个版本号,\2 \3 \4对应第2 3 4 个

这是获取各段的数值,然后再进行分段比较?

对的。版本号的比较,应该就是按顺序比较各个分段的数值

在数据库中写方法进行逐个比较?是不是太麻烦了

不是写方法,是用系统函数来取出版本号里的数字来比较
语句长点,性能可能相对差点,这是因为设计的问题
如果将几个分段分别存到几个数值型的字段中,就没这个问题了
  相关解决方案