栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在MySQL中比较版本字符串(“ xyz”)?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在MySQL中比较版本字符串(“ xyz”)?

最终,我找到了对版本字符串进行排序的另一种方法。

在将字符串以可排序的方式存储到数据库之前,我先对其进行了对齐。当我使用python
Django框架时,我刚刚创建了一个VersionField,用于在存储时对版本字符串进行“编码”,在读取时对其进行“解码”,因此对于应用程序而言是完全透明的:

这是我的代码:

The justify function :def vjust(str,level=5,delim='.',bitsize=6,fillchar=' '):    """    1.12 becomes : 1.    12    1.1  becomes : 1.     1    """    nb = str.count(delim)    if nb < level:        str += (level-nb) * delim    return delim.join([ v.rjust(bitsize,fillchar) for v in str.split(delim)[:level+1] ])The django VersionField :class VersionField(models.CharField) :    description = 'Field to store version strings ("a.b.c.d") in a way it is sortable'    __metaclass__ = models.Subfieldbase    def get_prep_value(self, value):        return vjust(value,fillchar=' ')    def to_python(self, value):        return re.sub('.+$','',value.replace(' ',''))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号