【发布时间】:2020-05-03 22:48:16
【问题描述】:
我陷入了以下问题。我有两个 UUID
const boost::uuids::uuid first = Helper::String2UUID("43E3F007-3993-4587-801E-D24C012587E4"));
const boost::uuids::uuid second = Helper::String2UUID("652335C1-6479-4D6A-9599-25A671366E05"));
在 Boost 中,我认为这是真的。
BOOST_REQUIRE(first < second);
但是当我使用该 UUID 列的排序在 SQL Server 上进行查询时,结果发现
second < first
看起来 UUID 的排序因应用程序而异。这是否意味着订购 UUID 没有一般规则,还是我做错了什么?
【问题讨论】:
-
这里讨论了 SQL Server 方法stackoverflow.com/questions/7810602/…
-
见How many ways are there to sort GUIDs? How much time do you have? 和Another way to sort GUIDs: Java。 GUID/UUID 只是一个二进制数数组,它们的排序方式是实现定义的,是的。
标签: c++ sql-server boost sql-order-by uuid