在 Postgres 中表示版本号
Represent versioned-number in Postgres
我的笔记本电脑上安装了 PostgreSQL 9.4,我的数据库包含一个版本号,格式如下:A.B.C.D(例如:1.2.13.6)。我如何将 MAX 聚合应用于文本列 "version"。非常感谢
如果数字总是数字,你可以这样做:
select max(string_to_array(version, '.')::int[])
from your_table;
通过将字符串转换为整数数组,比较将正确完成 [1,12,1]
大于 [1,1,1]
但是,如果您在该列中有 1.2.13.6a
这样的值,这将失败
SQLFiddle:http://sqlfiddle.com/#!15/d41d8/4608
我的笔记本电脑上安装了 PostgreSQL 9.4,我的数据库包含一个版本号,格式如下:A.B.C.D(例如:1.2.13.6)。我如何将 MAX 聚合应用于文本列 "version"。非常感谢
如果数字总是数字,你可以这样做:
select max(string_to_array(version, '.')::int[])
from your_table;
通过将字符串转换为整数数组,比较将正确完成 [1,12,1]
大于 [1,1,1]
但是,如果您在该列中有 1.2.13.6a
这样的值,这将失败
SQLFiddle:http://sqlfiddle.com/#!15/d41d8/4608