我们有什么方法可以找到哪个更大的版本,即在php或mysql中查找1.0.1是否大于1.0.13 ...
任何有助于帮助的人, 谢谢
答案 0 :(得分:3)
version_compare
是一个内置的PHP函数,用于完全相同(比较版本号);那就是你所要求的。
version_compare('1.0.1', '1.0.13'); // -1
version_compare('1.0.1', '1.0.1'); // 0
version_compare('1.0.13', '1.0.1'); // 1
如果第一个版本低于,则version_compare()返回-1 第二个,如果它们相等则为0,如果第二个较低则为1。
答案 1 :(得分:0)
这是一个黑客攻击 - 尽管如此,这个黑客行为还会引发这种方法的一个缺陷......
SELECT INET_NTOA(GREATEST(INET_ATON('1.0.1'),INET_ATON('1.0.13'))) greatest;
+----------+
| greatest |
+----------+
| 1.0.0.13 |
+----------+
答案 2 :(得分:0)
也是一个黑客:
select
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as ver1,
concat(substring_index('1.0.1', '.', 1), substring_index('1.0.1', '.', -2)) + 0
>=
concat(substring_index('1.0.13', '.', 1), substring_index('1.0.13', '.', -2)) + 0 as result
+------+-------+--------+
| ver1 | ver1 | result |
+------+-------+--------+
| 10.1 | 10.13 | 0 |
+------+-------+--------+
答案 3 :(得分:0)
试试这个。
select greatest('1.0.1', '1.0.13');
希望这有帮助。